Questa guida descrive i concetti sottostanti utilizzati per trasformare (spostamento, rotazione, scalabilità e taglio) gli elementi della pagina, in particolare la trasformazione affine sottostante e le sue operazioni.
Per ulteriori informazioni su come utilizzare le trasformazioni affine per ottenere risultati specifici, consulta la guida Forme di dimensioni e posizione.
Le dimensioni visive e la posizione di un elemento di pagina sono controllate da due proprietà: size e transform. Le dimensioni descrivono le dimensioni ideali o integrate dell'elemento della pagina in fase di creazione. La trasformazione specifica una matrice di trasformazione affine bidimensionale che specifica in che modo un oggetto nelle sue dimensioni integrate viene trasformato in il suo aspetto visivo finale.
Quando selezioni un elemento di pagina nell'interfaccia utente di Presentazioni e ne modifichi le dimensioni visive utilizzando i punti di manipolazione di regolazione, in realtà stai aggiornando questa matrice di trasformazione. Lo spostamento o la rotazione dell'elemento nella pagina comporta anche l'aggiornamento della matrice di trasformazione dell'elemento.
Utilizza l'interfaccia utente di Presentazioni per iniziare
L'aritmetica della matrice che utilizzi per trasformare e ridimensionare gli elementi della pagina è molto potente, ma all'inizio può essere scoraggiante; la maggior parte di questa pagina descrive questi calcoli. Tuttavia, puoi semplificare la specifica di trasformazioni e dimensioni utilizzando il seguente approccio:
- Crea elementi di pagina utilizzando l'interfaccia utente di Presentazioni.
- Posiziona gli elementi in scala come preferisci, sempre utilizzando l'interfaccia utente di Presentazioni.
- Leggi le dimensioni e trasforma questi elementi utilizzando il metodo get.
Questo potrebbe essere sufficiente per iniziare; la parte restante di questa guida illustra in dettaglio i calcoli della trasformazione che puoi utilizzare per manipolare gli elementi della pagina.
Matrici di trasformata di affine
Le matrici di trasformazione affine bidimensionale sono comunemente utilizzate dalle librerie grafiche per controllare la scala, la rotazione, il taglio, il riflesso e la traslazione degli elementi. Nell'API Presentazioni, la trasformazione di un elemento di pagina è rappresentata come una matrice 3 x 3:
I parametri utilizzati nella trasformazione sono:
translate_x |
I parametri di traduzione specificano la posizione (X,Y) dell'angolo in alto a sinistra dell'elemento della pagina, rispetto all'angolo superiore sinistro della pagina. Puoi specificare la posizione relativa utilizzando le unità di punti (pt) o le unità metriche inglesi (EMU). |
translate_y
| |
scale_x
| I parametri di scala controllano le dimensioni di un elemento della pagina quando viene eseguito il rendering. Si tratta di fattori di moltiplicazione senza unità; ad esempio, un valore scale_x
pari a 1,5 ingrandisce la larghezza dell'elemento del 50%.
|
scale_y
| |
shear_x
| Anche i parametri di taglio sono privi di unità e controllano l'inclinazione di un elemento di pagina. I parametri di scalabilità e taglio possono essere utilizzati insieme per ruotare un elemento di pagina. |
shear_y |
Puoi trovare molti esempi sul Web che mostrano come le matrici di trasformazione 2D influenzano il rendering degli oggetti grafici.
La matrice di trasformazione è relativa al gruppo o alla pagina contenitore dell'elemento. Ad esempio, se ruoti un gruppo che contiene un rettangolo, i valori del campo transform
del gruppo riflettono la rotazione, al contrario dei valori del campo transform
del rettangolo.
Calcolo delle dimensioni visive in corso...
Per determinare le dimensioni visive (visualizzate) di un elemento di pagina, devi considerare insieme le proprietà di dimensione e trasformazione. Non puoi determinare quale dei due elementi della pagina è visivamente più grande solo confrontando le proprietà delle dimensioni: 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], quindi esegui la moltiplicazione delle matrici. Considera la mappatura di un punto p:
\[p' = Ap\]
In questo modo:
Pertanto le coordinate del nuovo punto p' sono:
Calcolo del confine
Per determinare le dimensioni visualizzate del riquadro di delimitazione di un elemento dopo una trasformazione tagliata e scalata, utilizza:
Per ulteriori informazioni su come utilizzare le trasformazioni affine per ottenere risultati specifici, consulta la guida Forme di dimensioni e posizione.
Limitazioni
Alcuni campi relativi a dimensioni e posizionamento non sono compatibili con alcuni tipi di elementi della pagina. La tabella riportata di seguito riassume la compatibilità di alcuni elementi di pagina con i campi relativi a dimensioni e posizionamento.
Campo | Shape | Video | Tabella |
---|---|---|---|
Traduzioni | ✔ | ✔ | ✔ |
Scala | ✔ | ✔ | No** |
Tessera | ✔ | No | No |
** Per aggiornare le dimensioni di righe e colonne della tabella, utilizza
UpdateTableRowPropertiesRequest
e
UpdateTableColumnPropertiesRequest
.
Tutti i campi relativi a dimensioni e posizionamento potrebbero restituire risultati imprevisti se l'elemento della pagina ha il taglio. Tutte le limitazioni sono soggette a modifica. Per informazioni aggiornate, consulta l'API Presentazioni Google.