Ce guide décrit les concepts sous-jacents utilisés pour transformer (c'est-à-dire déplacer, faire pivoter, mettre à l'échelle et déformer) les éléments de page, en se concentrant en particulier sur la transformation affine sous-jacente et ses opérations.
Pour en savoir plus sur l'utilisation des transformations affines pour obtenir des résultats spécifiques, consultez le guide Formes de taille et de position.
La taille et la position visuelles d'un élément de page sont contrôlées par deux propriétés: size (taille) et transform (transformation). La taille décrit la taille idéale ou intégrée de l'élément de page en cours de création. La transformation spécifie une matrice de transformation affine bidimensionnelle qui spécifie comment un objet à sa taille intégrée est transformé pour obtenir son apparence visuelle finale.
Lorsque vous sélectionnez un élément de page dans l'interface utilisateur de Slides et que vous modifiez sa taille visuelle à l'aide des poignées de réglage, vous mettez à jour cette matrice de transformation. Déplacer l'élément sur la page ou le faire pivoter met également à jour la matrice de transformation de l'élément.
Utiliser l'interface utilisateur de Slides pour commencer
L'arithmétique matricielle que vous utilisez pour transformer et redimensionner les éléments de page est très puissante, mais peut être intimidante au premier abord. La majeure partie de cette page décrit ces calculs. Toutefois, vous pouvez simplifier la spécification des transformations et des tailles en suivant la procédure ci-dessous:
- Créez des éléments de page à l'aide de l'UI de Slides.
- Positionnez et étirez ces éléments de page comme vous le souhaitez, toujours à l'aide de l'interface utilisateur de Slides.
- Lisez la taille et la transformation de ces éléments à l'aide de la méthode get.
Cela peut suffire pour vous lancer. Le reste de ce guide explique en détail les calculs de transformation que vous pouvez utiliser pour manipuler les éléments de la page.
Matrices de transformation affine
Les matrices de transformation affine bidimensionnelles sont couramment utilisées par les bibliothèques graphiques pour contrôler l'échelle, la rotation, le cisaillement, la réflexion et la translation des éléments. Dans l'API Slides, la transformation d'un élément de page est représentée sous la forme d'une matrice 3x3:
Les paramètres utilisés dans la transformation sont les suivants:
translate_x |
Les paramètres de translation spécifient la position (X,Y) de l'angle supérieur gauche de l'élément de page par rapport à l'angle supérieur gauche de la page. Vous spécifiez la position relative à l'aide des unités en points (pt) ou en unités métriques anglaises (EMU). |
translate_y
| |
scale_x
| Les paramètres d'échelle contrôlent la taille d'un élément de page lors de son affichage. Il s'agit de facteurs multiplicateurs sans unité.Par exemple, une valeur scale_x de 1,5 agrandit la largeur de l'élément de 50%.
|
scale_y
| |
shear_x
| Les paramètres de cisaillement sont également sans unité et contrôlent l'inclinaison d'un élément de page. Vous pouvez utiliser les paramètres de mise à l'échelle et de distorsion conjointement pour faire pivoter un élément de page. |
shear_y |
Vous trouverez de nombreux exemples sur le Web montrant comment les matrices de transformation 2D affectent le rendu des objets graphiques.
La matrice de transformation est relative au groupe ou à la page contenant l'élément. Par exemple, si vous faites pivoter un groupe contenant un rectangle, les valeurs de champ transform
du groupe reflètent la rotation, mais pas celles du champ transform
du rectangle.
Calculer la taille visuelle
Pour déterminer la taille visuelle (rendue) d'un élément de page, vous devez tenir compte à la fois des propriétés de taille et de transformation. Vous ne pouvez pas déterminer lequel des deux éléments de page est visuellement plus grand simplement en comparant leurs propriétés de taille : vous devez mapper les limites de l'élément à l'aide de la matrice de transformation et calculer une taille de rendu.
Mappage d'un point
Pour mapper un point spécifique à l'aide de la matrice de transformation, convertissez le point (x, y) en vecteur [x, y, 1], puis effectuez la multiplication matricielle. Prenons l'exemple de la cartographie d'un point p:
p′=Ap
Cela devient:
Par conséquent, les coordonnées du nouveau point p' sont les suivantes:
Calculer la limite
Pour déterminer la taille de rendu de la zone de délimitation d'un élément après une transformation qui la déforme et la met à l'échelle, utilisez:
Pour en savoir plus sur l'utilisation des transformations affines pour obtenir des résultats spécifiques, consultez le guide Formes de taille et de position.
Limites
Certains champs de dimensionnement et de positionnement ne sont pas compatibles avec certains types d'éléments de page. Le tableau ci-dessous récapitule la compatibilité de certains éléments de page avec les champs de dimensionnement et de positionnement.
Champ | Forme | Vidéo | Tableau |
---|---|---|---|
Translation | ✔ | ✔ | ✔ |
Scale | ✔ | ✔ | Non** |
Coupe | ✔ | Non | Non |
** Pour mettre à jour les dimensions des lignes et des colonnes de la table, utilisez UpdateTableRowPropertiesRequest
et UpdateTableColumnPropertiesRequest
.
Tous les champs de dimensionnement et de positionnement peuvent donner des résultats inattendus si l'élément de page est déformé. Toutes les restrictions sont susceptibles d'être modifiées. Pour obtenir des informations à jour, consultez la page API Google Slides.