Questa guida descrive i concetti di base utilizzati per trasformare (ovvero muovere, ruotare, ridimensionare e inclinare) gli elementi della pagina, concentrandosi in particolare sulla trasformazione affine sottostante e sulle relative operazioni.
Per scoprire di più su come utilizzare le trasformazioni affine per ottenere risultati specifici, consulta la guida Modificare le dimensioni e la posizione delle forme.
Le dimensioni e la posizione visive di un elemento della pagina sono controllate da due proprietà: size e transform. Le dimensioni descrivono le dimensioni ideali o incorporate dell'elemento della pagina in fase di creazione. La trasformazione specifica una matrice di trasformazione affine bidimensionale che specifica in che modo un oggetto viene trasformato nelle sue dimensioni predefinite per ottenere l'aspetto visivo finale.
Quando selezioni un elemento della pagina nell'interfaccia utente di Presentazioni e ne modifichi le dimensioni visualizzate tramite i maniglie di regolazione, stai in realtà aggiornando questa matrice di trasformazione. Se sposti l'elemento nella pagina o lo ruoti, viene aggiornata anche la sua matrice di trasformazione.
Utilizza l'interfaccia utente di Presentazioni per iniziare
L'aritmetica delle matrici utilizzata per trasformare e ridimensionare gli elementi della pagina è molto potente, ma all'inizio può scoraggiare. La maggior parte di questa pagina descrive questi calcoli. Tuttavia, puoi semplificare la specifica delle trasformazioni e delle dimensioni utilizzando il seguente approccio:
- Crea elementi di pagina utilizzando l'interfaccia utente di Presentazioni.
- Posiziona e ridimensiona questi elementi della pagina come preferisci, sempre utilizzando l'interfaccia utente di Presentazioni.
- Leggi le dimensioni e la trasformazione di questi elementi utilizzando il metodo get.
Questo può essere sufficiente per iniziare. Il resto di questa guida illustra i calcoli delle trasformazioni che puoi utilizzare per manipolare in dettaglio gli elementi della pagina.
Matrici di trasformazione affine
Le matrici di trasformazione affine bidimensionali sono comunemente utilizzate dalle librerie di grafica per controllare la scala, la rotazione, la distorsione, la riflessione e la traslazione degli elementi. Nell'API Slides, la trasformazione di un elemento della pagina è rappresentata come una matrice 3x3:
I parametri utilizzati nella trasformazione sono:
translate_x |
I parametri di translazione specificano la posizione (X, Y) dell'angolo superiore sinistro dell'elemento della pagina rispetto all'angolo superiore sinistro della pagina. Specifica la posizione relativa utilizzando Unità di punti (pt) o unità di misura imperiali inglesi (EMU). |
translate_y
| |
scale_x
| I parametri di scala controllano le dimensioni di un elemento della pagina al momento del rendering. Si tratta di fattori di moltiplicazione senza unità di misura.Ad esempio, un valore scale_x
pari a 1,5 aumenta la larghezza dell'elemento del 50%.
|
scale_y
| |
shear_x
| Anche i parametri di taglio sono privi di unità di misura e controllano l'inclinazione di un elemento della pagina. I parametri di scala e inclinazione possono essere utilizzati insieme per ruotare un elemento della pagina. |
shear_y |
Sul web puoi trovare molti esempi che mostrano in che modo le matrici di trasformazione 2D influiscono sul rendering degli oggetti grafici.
La matrice di trasformazione è relativa al gruppo o alla pagina contenente l'elemento. Ad esempio, se ruoti un gruppo che contiene un rettangolo,
i valori dei campi transform
del gruppo riflettono la rotazione, ma non i valori dei campi transform
del rettangolo.
Calcolo delle dimensioni della visualizzazione
Per determinare le dimensioni visive (riprese) di un elemento della pagina, devi prendere in considerazione sia le proprietà size che transform. Non puoi determinare quale tra due elementi della pagina è visivamente più grande solo confrontando le relative proprietà di dimensione: devi mappare i confini dell'elemento utilizzando la matrice di trasformazione e calcolare una dimensione visualizzata.
Mappatura di un punto
Per mappare un punto specifico utilizzando la matrice di trasformazione, converti il punto (x, y) in un vettore [x, y, 1] ed esegui la moltiplicazione della matrice. Prendiamo in considerazione la mappatura di un punto p:
p′=Ap
Il risultato sarà:
Pertanto, le coordinate del nuovo punto p' sono:
Calcolo del confine
Per determinare le dimensioni di rendering della scatola delimitante di un elemento dopo una trasformazione che inclina e ridimensiona, utilizza:
Per scoprire di più su come utilizzare le trasformazioni affine per ottenere risultati specifici, consulta la guida Modificare le dimensioni e la posizione delle forme.
Limitazioni
Alcuni campi di dimensionamento e posizionamento non sono compatibili con alcuni tipi di elementi della pagina. La tabella seguente riassume la compatibilità di determinati elementi della pagina con i campi di dimensionamento e posizionamento.
Campo | Shape | Video | Tabella |
---|---|---|---|
Traduzioni | ✔ | ✔ | ✔ |
Scala | ✔ | ✔ | No** |
Cisare | ✔ | No | No |
** Per aggiornare le dimensioni delle righe e delle colonne della tabella, utilizza
UpdateTableRowPropertiesRequest
e
UpdateTableColumnPropertiesRequest
.
Tutti i campi di dimensionamento e posizionamento potrebbero restituire risultati imprevisti se l'elemento della pagina presenta una distorsione. Tutte le limitazioni sono soggette a modifica. Per informazioni aggiornate, consulta l'API Google Slides.