Este guia descreve como dimensionar e posicionar elementos de página usando de dados. Para uma introdução conceitual às transformações afins, consulte o guia do conceito Transformações.
Transformando elementos
A Slides API permite reposicionar e dimensionar elementos em uma página. Para isso, primeiro determine o tipo de transformação que precisa ser aplicado e, em seguida, aplique transformada usando a função presentations.batchUpdate que contém uma ou mais UpdatePageElementTransformRequest os elementos.
As transformações podem ser feitas de duas formas applyModes:
As transformações
ABSOLUTE
substituem a transformação atual do elemento matricial. Todos os parâmetros omitidos da solicitação de atualização de transformação são definidos como zero.As transformações
RELATIVE
são multiplicadas pelas transformações atuais do elemento matriz de transformação (a ordem de multiplicação importa):
As transformações relativas movem ou escalonam o elemento de página de onde ele está no momento. por exemplo, mover uma forma 100 pontos para a esquerda ou girá-la 40 graus. As transformações absolutas descartam informações atuais de posição e escala. para por exemplo, mover uma forma para o centro da página ou dimensioná-la para larguras específicas.
Transformações complexas podem ser expressas como uma sequência de outras mais simples. Pré-cálculo de uma transformação: combinação de várias transformações usando multiplicação de matrizes) pode reduzir a sobrecarga.
Para algumas operações, você precisa saber o que a transformação atual de um elemento parâmetros são. Se você não tiver esses valores, poderá recuperá-los com uma presentations.pages.get solicitação.
Tradução
Translação é simplesmente a ação de mover um elemento de página para uma nova posição no na mesma página. Traduções Absolute movem o elemento para um ponto específico, enquanto as traduções relativas movem o elemento por uma distância específica.
Uma matriz de transformação de conversão básica tem a seguinte forma:
Quando você usa uma UpdatePageElementTransformRequest para traduzir um elemento (sem alterar seu tamanho, distorção ou orientação), você é possível usar uma das seguintes opções AffineTransform estruturas:
// Absolute translation: { 'transform': { 'scaleX': current scaleX value, 'scaleY': current scaleY value, 'shearX': current shearX value, 'shearY': current shearY value, 'translateX': X coordinate to move to, 'translateY': Y coordinate to move to, 'unit': 'EMU' // or 'PT' } } // Relative translation (scaling must also be provided to avoid a matrix multiplication error): { 'transform': { 'scaleX': 1, 'scaleY': 1, 'translateX': X coordinate to move by, 'translateY': Y coordinate to move by, 'unit': 'EMU' // or 'PT' } }
Escalonamento
Dimensionamento é a ação de alongar ou comprimir um elemento ao longo do X e/ou dimensão Y para alterar o tamanho dela. Uma matriz de transformação de escalonamento básica tem a seguinte forma:
É possível usar o formato de matriz diretamente como uma transformação RELATIVE
para redimensionar um
mas isso também pode afetar a distorção e a movimentação renderizadas do elemento.
Para dimensionar o elemento sem afetar sua distorção ou movimentação, mude para seu
frame de referência.
Rotação
Transformações de rotação giram um elemento de página em torno de um ponto, usando as funções de parâmetros de distorção. A matriz de transformação básica de rotação tem o seguinte formato: em que o ângulo de rotação (em radianos) é medido a partir do eixo X, movendo-se sentido anti-horário:
Assim como no escalonamento, é possível usar a forma de matriz diretamente como um RELATIVE
transformam para girar um elemento, mas isso faz com que ele seja girado
sobre a origem da página. Para girar o elemento em torno de seu centro ou em uma
um ponto diferente,
mudar para esse frame de referência.
Reflexão
O reflexo espelha um elemento em uma linha ou eixo específico. O básico A matriz de transformação de reflexo dos eixos x e y tem as seguintes formas:
Assim como no escalonamento, é possível usar a forma de matriz diretamente como um RELATIVE
transformam para refletir um elemento, mas isso faz com que o elemento seja convertido como
muito bem. Para refletir o elemento sem translação,
mudar para o frame de referência.
Frames de referência de elementos
Aplicando uma escala básica, reflexão ou rotação se transforma diretamente em uma página produz uma transformação no frame de referência da página. Por exemplo: uma rotação básica gira o elemento em torno da origem da página (a no canto superior esquerdo). No entanto, é possível operar no frame de referência do do elemento em si, por exemplo, para girá-lo em torno de seu ponto central.
Para transformar um elemento dentro do próprio frame de referência, coloque-o entre dois
outras traduções: uma tradução anterior T1
que move o elemento para o centro
à origem da página, e uma T2
de tradução que move o elemento
de volta à posição original. A operação completa pode ser expressa como uma matriz
produto:
Também é possível alternar para outros frames de referência traduzindo diferentes pontos. para a origem. Esses pontos se tornam o centro da nova referência frame.
É possível realizar cada uma dessas transformações individualmente
solicitações de transformação RELATIVE
sequenciais; O ideal é pré-calcular
A'
acima com multiplicações de matrizes e aplicar o resultado como um único
Transformação ABSOLUTE
. Como alternativa, pré-compute o produto T2 * B * T1
e aplicá-lo como uma única transformação RELATIVE
. Ambos são mais eficientes,
em termos de operações de API e, em seguida, enviar as solicitações de transformação individualmente.
Limitações
Alguns campos de dimensionamento e posicionamento são incompatíveis com alguns tipos de página. os elementos. A tabela abaixo resume a compatibilidade de certos elementos de página com os campos de dimensionamento e posicionamento.
Campo | Forma | Vídeo | Tabela |
---|---|---|---|
Tradução | ✔ | ✔ | ✔ |
Escala | ✔ | ✔ | Não** |
Treia | ✔ | Não | Não |
** Para atualizar as dimensões de linha e coluna da tabela, use
UpdateTableRowPropertiesRequest
e
UpdateTableColumnPropertiesRequest
.
Todos os campos de dimensionamento e posicionamento poderão gerar resultados inesperados se o elemento de página tiver distorção. Todas as limitações estão sujeitas a alterações. Veja informações atualizadas na API Google Slides.
A API Slides pode refatorar seus valores
Ao criar um elemento de página, é possível especificar um tamanho e transformar esse fornecem um determinado resultado visual. No entanto, a API pode substituir as valores com outros que produzem a mesma aparência visual. Em geral, se você grava um tamanho usando a API, não há garantia de retornar o mesmo tamanho. No entanto, você deve obter os mesmos resultados se fizer a transformação em do Compute Engine.