Transformationen und Seitenelemente

In diesem Leitfaden werden die zugrunde liegenden Konzepte beschrieben, die beim Transformieren (d. h. beim Verschieben, Drehen, Skalieren und Verzerren) von Seitenelementen verwendet werden. Dabei liegt der Schwerpunkt auf der zugrunde liegenden affiinen Transformation und ihren Vorgängen.

Weitere Informationen dazu, wie Sie mithilfe von affinen Transformationen bestimmte Ergebnisse erzielen, finden Sie im Leitfaden Größe und Position von Formen.

Die visuelle Größe und Position eines Seitenelements werden durch zwei Eigenschaften gesteuert: size und transform. Die Größe beschreibt die ideale oder integrierte Größe des zu erstellenden Seitenelements. Die Transformation gibt eine zweidimensionale affine Transformationsmatrix an, die angibt, wie ein Objekt in seiner ursprünglichen Größe transformiert wird, um sein endgültiges visuelles Erscheinungsbild zu erhalten.

Diagramm einer Form, die durch eine affine Transformation gerendert wird

Wenn Sie in der Benutzeroberfläche von Google Präsentationen ein Seitenelement auswählen und seine visuelle Größe mithilfe der Anpassungsziehpunkte ändern, aktualisieren Sie diese Transformationsmatrix. Wenn Sie das Element auf der Seite verschieben oder drehen, wird auch die Transformationsmatrix des Elements aktualisiert.

Die Google Präsentationen-Benutzeroberfläche verwenden

Die Matrizenarithmetik, mit der Sie Seitenelemente transformieren und ihre Größe ändern, ist sehr leistungsfähig, kann aber auf den ersten Blick abschreckend wirken. Auf dieser Seite werden diese Berechnungen ausführlich beschrieben. Sie können die Angabe von Transformationen und Größen jedoch mit dem folgenden Ansatz vereinfachen:

  1. Erstellen Sie Seitenelemente über die Google Präsentationen-Benutzeroberfläche.
  2. Positionieren und skalieren Sie diese Seitenelemente wie gewünscht, immer noch über die Benutzeroberfläche von Google Präsentationen.
  3. Größe und Transformation dieser Elemente mit der get-Methode lesen

Das ist für den Einstieg ausreichend. Im Rest dieses Leitfadens werden die Transformationsberechnungen beschrieben, mit denen Sie Seitenelemente bearbeiten können.

Matrizen für affine Transformationen

Zweidimensionale Affine-Transformationsmatrizen werden häufig von Grafikbibliotheken verwendet, um Skalierung, Drehung, Scherung, Spiegelung und Verschiebung von Elementen zu steuern. In der Google Präsentationen API wird die Transformation eines Seitenelements als 3 × 3-Matrix dargestellt:

A=[scale_xshear_xtranslate_xshear_yscale_ytranslate_y001]

Bei der Transformation werden die folgenden Parameter verwendet:

translate_x Mit den Translation-Parametern wird die (X,Y)-Position der linken oberen Ecke des Seitenelements relativ zur linken oberen Ecke der Seite angegeben. Die relative Position wird in Einheiten angegeben, entweder in Punkten (pt) oder in englischen metrischen Einheiten (EMU).
translate_y
scale_x Mit den Skalierungsparametern wird festgelegt, wie groß ein Seitenelement beim Rendern ist. Dies sind multiplikatoren ohne Maßeinheit.Bei einem scale_x-Wert von 1, 5 wird die Breite des Elements beispielsweise um 50 % vergrößert.
scale_y
shear_x Die Scherparameter sind ebenfalls ohne Maßeinheit und steuern die Neigung eines Seitenelements. Mit den Skalierungs- und Scherparametern können Sie ein Seitenelement drehen.
shear_y

Im Web finden Sie viele Beispiele, die zeigen, wie sich 2D-Transformationsmatrizen auf das Rendern von grafischen Objekten auswirken.

Die Transformationsmatrix ist relativ zur übergeordneten Gruppe oder Seite des Elements. Wenn Sie beispielsweise eine Gruppe mit einem Rechteck drehen, spiegeln die Feldwerte transform der Gruppe die Drehung wider, die Feldwerte transform des Rechtecks jedoch nicht.

Größe des visuellen Elements berechnen

Um die visuelle (gerenderte) Größe eines Seitenelements zu bestimmen, müssen Sie sowohl die Größe als auch die Transformierungseigenschaften berücksichtigen. Sie können nicht einfach die Größeneigenschaften von zwei Seitenelementen vergleichen, um festzustellen, welches visuell größer ist. Sie müssen die Grenzen des Elements mithilfe der Transformationsmatrix zuordnen und eine gerenderte Größe berechnen.

Punkt zuordnen

Wenn Sie einen bestimmten Punkt mithilfe der Transformationsmatrix abbilden möchten, wandeln Sie den Punkt (x, y) in einen Vektor [x, y, 1] um und führen Sie dann die Matrixmultiplikation durch. Betrachten Sie die Abbildung eines Punktes p:

p=Ap

Daraus wird:

[xy1]=[scale_xshear_xtranslate_xshear_yscale_ytranslate_y001][xy1]

Die Koordinaten des neuen Punkts p' sind daher:

x=(scale_x×x)+(shear_x×y)+translate_xy=(scale_y×y)+(shear_y×x)+translate_y

Begrenzung berechnen

So bestimmen Sie die gerenderte Größe des Begrenzungsrahmens eines Elements nach einer Transformation, die eine Scherung und Skalierung umfasst:

width=(scale_x×width)+(shear_x×height)height=(scale_y×height)+(shear_y×width)

Weitere Informationen dazu, wie Sie mithilfe von affinen Transformationen bestimmte Ergebnisse erzielen, finden Sie im Leitfaden Größe und Position von Formen.

Beschränkungen

Einige Felder für Größe und Positionierung sind mit bestimmten Seitenelementen nicht kompatibel. In der folgenden Tabelle wird die Kompatibilität bestimmter Seitenelemente mit Feldern für Größe und Position zusammengefasst.

Feld Form Video Tabelle
Translation
Scale Nein**
Verzerrung Nein Nein

** Verwenden Sie UpdateTableRowPropertiesRequest und UpdateTableColumnPropertiesRequest, um die Abmessungen von Tabellenzeilen und ‑spalten zu aktualisieren.

Alle Felder für Größe und Position können zu unerwarteten Ergebnissen führen, wenn das Seitenelement eine Verschiebung hat. Alle Einschränkungen können sich ändern. Aktuelle Informationen finden Sie unter Google Präsentationen API.