Bezeichnung
TransformLayer -- wendet eine affine Transformation auf die Ebene an (V4.5)
Übersicht
TransformLayer(id, sx, rx, ry, sy[, smooth])
Beschreibung
Dieser Befehl kann verwendet werden, um eine affine Transformation auf eine Ebene oder Ebenengruppe anzuwenden. Sie müssen eine 2x2 Transformationsmatrix diesem Befehl übergeben, die definiert, wie jedes Pixel in dem Pinsel umgewandelt wird. Dieser Befehl ist nützlich, wenn Sie Rotation und Skalierung gleichzeitig anwenden möchten. Optional können Sie das Argument smooth auf True setzen, um Antialiasing beim Transformieren zu benutzen, welches zu einem glatteren Aussehen führt, aber dessen Berechnung länger dauert.

Wenn die angegebene Ebene eine Vektorebene ist (zum Beispiel Kreis, Vieleck, TrueType-Text oder ein Rechteck), wird Hollywood die Ebene ohne Qualitätsverlust transformieren können, weil Vektorgrafiken frei umgewandelt werden können. Somit wird das Argument smooth keine Funktion haben, wenn die angegebene Ebene eine Vektor-Ebene ist. Wenn die Ebene jedoch Rastergrafiken verwendet, wird die normale rasterbasierte Drehung verwendet.

Im Gegensatz zu den mit dem Befehl TransformBrush() transformierten Pinseln behalten Ebenen immer ihre ursprünglichen Daten. So wird es keinen Qualitätsverlust geben, wenn Sie eine Ebene zuerst auf die Größe (20,15) und dann wieder zurück auf (640.480) transformieren. Das ist mit Ebenen durchaus machbar.

Siehe TransformBrush für weitere Information über das Verwenden der Transformationsmatrix.

Eingaben
id
Identifikator der Ebene oder Ebenengruppe, die transformiert wird
rx
Rotierungsfaktor x
ry
Rotierungsfaktor y
sx
Skalierungsfaktor x; darf nie 0 sein
sy
Skalierungsfaktor y; darf nie 0 sein
smooth
optional: Mit True wird Antialiasing bei der affine Transformation verwendet (Standard ist False)
Beispiel
angle = Rad(45)    ; wandelt Grad in Radiant um
TransformLayer(1, Cos(angle), Sin(angle), -Sin(angle), Cos(angle))
Der obige Code dreht die Ebene 1 um 45 Grad.

Navigation zeigen