cpattern:SetMatrix(matrix)
matrix. Diese Matrix
ist eine Transformation vom Benutzerbereich zum Musterbereich.
Wenn ein Muster zum ersten Mal erstellt wird, verfügt es immer über die Identitätsmatrix für seine Transformationsmatrix, was bedeutet, dass der Musterbereich zunächst mit dem Benutzerbereich identisch ist.
Wichtig: Bitte beachten Sie, dass die Richtung dieser Transformationsmatrix vom Benutzerbereich zum Musterbereich verläuft. Das heißt, wenn Sie sich den Fluss von einem Muster zum Benutzerbereich (und weiter zum Gerätebereich) vorstellen, werden die Koordinaten in diesem Fluss durch die Umkehrung der Mustermatrix transformiert.
Wenn Sie beispielsweise möchten, dass ein Muster doppelt so groß erscheint wie standardmäßig, ist der richtige Code zu verwenden:
m = cairo.Matrix() m:InitScale(0.5, 0.5) pat:SetMatrix(m) |
Die Verwendung von Werten von 2.0 anstelle von 0.5 im obigen Code würde dazu führen, dass das Muster in der Hälfte seiner Standardgröße angezeigt wird.
Bitte beachten Sie auch die Ausführungen der Benutzerbereich-Sperrsemantik von ccontext:SetSource().