ID2D1RenderTarget::P ushAxisAlignedClip(constD2D1_RECT_F*,D2D1_ANTIALIAS_MODE)-Methode (d2d1.h)
Gibt ein Rechteck an, an das alle nachfolgenden Zeichnungsvorgänge abgeschnitten werden.
Syntax
void PushAxisAlignedClip(
const D2D1_RECT_F *clipRect,
D2D1_ANTIALIAS_MODE antialiasMode
);
Parameter
clipRect
Typ: [in] const D2D1_RECT_F*
Größe und Position des Clippingbereichs in geräteunabhängigen Pixeln.
antialiasMode
Typ: [in] D2D1_ANTIALIAS_MODE
Der Antialiasingmodus, der verwendet wird, um die Ränder von Cliprekts mit Subpixelgrenzen zu zeichnen und den Clip mit den Szeneninhalten zu mischen. Die Überblendung wird einmal ausgeführt, wenn die PopAxisAlignedClip-Methode aufgerufen wird, und gilt nicht für jeden Grundtyp innerhalb der Ebene.
Rückgabewert
Keine
Bemerkungen
ClipRect wird von der aktuellen Welttransformation transformiert, die auf dem Renderziel festgelegt ist. Nachdem die Transformation auf den übergebenen clipRect angewendet wurde, wird das achsenbündige Begrenzungsfeld für clipRect berechnet. Aus Effizienzgründen wird der Inhalt an dieses achsenbündige Begrenzungsfeld und nicht an den ursprünglichen clipRect abgeschnitten, der übergeben wird.
Die folgenden Diagramme zeigen, wie eine Drehungstransformation auf das Renderziel, den resultierenden clipRect und ein auf die berechnete Achse ausgerichtetes Begrenzungsfeld angewendet wird.
- Angenommen, das Rechteck in der folgenden Abbildung ist ein Renderziel, das an den Bildschirmpixeln ausgerichtet ist.
- Wenden Sie eine Drehungstransformation auf das Renderziel an. In der folgenden Abbildung stellt das schwarze Rechteck das ursprüngliche Renderziel und das rote gestrichelte Rechteck das transformierte Renderziel dar.
- Nach dem Aufrufen von PushAxisAlignedClip wird die Drehungstransformation auf clipRect angewendet. In der folgenden Abbildung stellt das blaue Rechteck den transformierten clipRect dar.
- Das achsenbündige Begrenzungsfeld wird berechnet. Das grüne gestrichelte Rechteck stellt das umgebende Feld in der folgenden Abbildung dar. Alle Inhalte werden an dieses achsenbündige Begrenzungsfeld gekappt.
Ein PushAxisAlignedClip - und PopAxisAlignedClip-Paar kann um oder innerhalb von PushLayer und PopLayer auftreten, kann sich jedoch nicht überlappen. Beispielsweise ist die Sequenz von PushAxisAlignedClip, PushLayer, PopLayer, PopAxisAlignedClip gültig, aber die Sequenz von PushAxisAlignedClip, PushLayer, PopAxisAlignedClip, PopLayer ist ungültig.
Diese Methode gibt keinen Fehlercode zurück, wenn sie fehlschlägt. Um zu ermitteln, ob ein Zeichnungsvorgang (z. B. PushAxisAlignedClip) fehlgeschlagen ist, überprüfen Sie das ergebnis, das von den Methoden ID2D1RenderTarget::EndDraw oder ID2D1RenderTarget::Flush zurückgegeben wird.
Anforderungen
Zielplattform | Windows |
Kopfzeile | d2d1.h (einschließlich D2d1.h) |
Bibliothek | D2d1.lib |
DLL | D2d1.dll |