Transformaciones y elementos de página

En esta guía, se describen los conceptos subyacentes que se usan en la transformación (es decir, mover, rotar, escalar y cortar) los elementos de página, enfocándose especialmente sobre la transformación afín subyacente y sus operaciones.

Si necesitas más información sobre cómo usar transformaciones afines para lograr resultados específicos, consulta consulta la guía Formas de tamaño y posición.

El tamaño visual y la posición de un elemento de página se controlan mediante dos propiedades: size y transform. El tamaño describe el tamaño ideal o integrado. del elemento de página que se crea. La transformación especifica un modelo de matriz de transformación afín que especifica cómo se transforma un objeto en su tamaño integrado para generar su aspecto visual final.

Diagrama de una forma renderizada a través de una transformación afín

Cuando seleccionas un elemento de página en la IU de Presentaciones y cambias su tamaño de visualización con los controladores de ajuste, se actualizará esta matriz de transformación. Si mueves el elemento por la página o lo rotas, también se actualizará el de transformación de datos.

Usa la IU de Presentaciones para comenzar

La aritmética de matrices que usas para transformar y cambiar el tamaño de los elementos de página es pero puede ser abrumador al principio. la mayor parte de esta página describe estas realizar cálculos. Sin embargo, puedes simplificar la especificación de las transformaciones con el siguiente enfoque:

  1. Crea elementos de página con la IU de Presentaciones.
  2. Ajusta la posición de estos elementos de página como desees, pero sigue usando la IU de Presentaciones.
  3. Lee el tamaño y la transformación de esos elementos con el método get.

Eso puede ser suficiente para comenzar; En el resto de esta guía, se explican las transforman los cálculos que puedes usar para manipular los elementos de página en detalle.

Matrices de transformaciones afines

Los gráficos suelen usar matrices de transformaciones afines bidimensionales. para controlar el escalamiento, la rotación, la corteza, el reflejo y la traslación o de terceros. En la API de Presentaciones, la transformación de un elemento de página se representa como una matriz de 3x3:

$$A=\begin{bmatrix} scale\_x & shear\_x & translate\_x\\ shear\_y & scale\_y & translate\_y\\ 0 & 0 & 1 \end{bmatrix}$$

Los parámetros que se usan en la transformación son los siguientes:

translate_x Los parámetros de traslación especifican la posición (X,Y) de la esquina superior izquierda del elemento de página, en relación con la esquina superior izquierda de la página. Puedes especificar la posición relativa usando Unidades de puntos (pt) o unidades métricas inglesas (EMU).
translate_y
scale_x Los parámetros de escala controlan el tamaño de un elemento de página cuando se renderizan. Se trata de factores multiplicadores sin unidades; por ejemplo, scale_x. de 1.5 aumenta el ancho del elemento en un 50%.
scale_y
shear_x Los parámetros de distorsión tampoco tienen unidades y controlan la inclinación de una página. . Los parámetros de escala y distorsión se pueden usar en conjunto para rotar una página .
shear_y

Puedes encontrar muchos ejemplos en la Web que muestran cómo las matrices de transformación 2D afectan la renderización de objetos gráficos.

La matriz de transformación es relativa al grupo o a la página que la contiene . Por ejemplo, si rotas un grupo que contiene un rectángulo, la transform del grupo los valores de campo reflejan la rotación, pero el transform del rectángulo no lo hacen los valores de campo.

Cómo calcular el tamaño de visualización

Para determinar el tamaño de las imágenes (renderizadas) de un elemento de página, debes tener en cuenta lo siguiente: las propiedades size y transform en conjunto. No puedes determinar dos elementos de página son visualmente más grandes con solo comparar sus propiedades de tamaño: debes asignar los límites del elemento mediante la matriz de transformación y procesar un tamaño renderizado.

Cómo asignar un punto

Para asignar un punto específico con la matriz de transformación, convierte el punto (x, y) en un vector [x, y, 1] y, luego, realizar una multiplicación de matrices. Ten en cuenta asignación de un punto p:

\[p' = Ap\]

Esto se convierte en lo siguiente:

$$\begin{bmatrix} x'\\ y'\\ 1 \end{bmatrix} =\begin{bmatrix} scale\_x & shear\_x & translate\_x\\ shear\_y & scale\_y & translate\_y\\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} x\\ y\\ 1 \end{bmatrix}$$

Por lo tanto, las coordenadas del nuevo punto p' son las siguientes:

$$x' = (scale\_x \times x) + (shear\_x \times y) + translate\_x\\ y' = (scale\_y \times y) + (shear\_y \times x) + translate\_y$$

Cálculo de los límites

Determinar el tamaño renderizado del cuadro de límite de un elemento después de una transformación con tijeras y escalas, usa:

$$width' = (scale\_x \times width) + (shear\_x \times height)\\ height' = (scale\_y \times height) + (shear\_y \times width)$$

Si necesitas más información sobre cómo usar transformaciones afines para lograr resultados específicos, consulta consulta la guía Formas de tamaño y posición.

Limitaciones

Algunos campos de tamaño y posicionamiento no son compatibles con algunos tipos de página o de terceros. En la siguiente tabla, se resume la compatibilidad de ciertos elementos de la página con los campos de tamaño y posicionamiento.

Campo Forma Video Tabla
Translation
Escala No**
Cjerar No No

** Para actualizar las dimensiones de filas y columnas de la tabla, utiliza UpdateTableRowPropertiesRequest y UpdateTableColumnPropertiesRequest

Todos los campos de tamaño y posicionamiento pueden dar resultados inesperados si el elemento de página presenta distorsión. Todas las limitaciones están sujetas a cambios. Para obtener información actualizada, consulta la API de Google Slides.