페이지 요소 크기 조정 및 위치 지정

이 가이드에서는 아핀을 사용하여 페이지 요소의 크기 및 위치를 지정하는 방법을 설명합니다. 사용할 수 있습니다. 아핀 변환에 대한 개념 소개는 변환 개념 가이드를 참조하세요.

요소 변환

Slides API를 사용하여 페이지에서 요소의 위치를 조정하고 크기를 조정할 수 있습니다. 이렇게 하려면 먼저 적용할 변환 유형을 결정한 다음 변환을 사용하여 presentations.batchUpdate 하나 이상의 UpdatePageElementTransformRequest 요소

변환은 둘 중 하나에서 수행될 수 있음 applyModes:

  • ABSOLUTE 변환은 요소의 기존 변환을 대체합니다. 행렬입니다. 변환 업데이트 요청에서 생략한 모든 매개변수는 다음과 같이 설정됩니다. 있습니다.

  • RELATIVE 변환은 요소의 기존 변환에 곱합니다. 행렬입니다 (곱셈 순서가 중요함):

$$A' = BA$$

상대 변환은 페이지 요소를 현재 위치에서 이동하거나 배율을 조정합니다. 예를 들어 도형을 왼쪽으로 100포인트 이동하거나 40도 회전할 수 있습니다. 절대 변환은 기존 위치 및 배율 정보를 삭제합니다. 대상: 예를 들어 도형을 페이지 중앙으로 이동하거나 크기를 조정하여 지정할 수 있습니다.

복잡한 변환은 일반적으로 더 간단한 변환의 시퀀스로 표현할 수 있습니다. 변환 사전 계산 - 오버헤드를 줄일 수 있습니다.

일부 작업의 경우 요소의 기존 변환이 무엇인지 알아야 합니다. 매개변수입니다. 이러한 값이 없는 경우 presentations.pages.get 요청을 수행합니다.

번역

변환은 단순히 페이지의 요소를 다음 요소의 새 위치로 이동하는 작업입니다. 사용할 수 있습니다. 절대 좌표이동(절댓값)은 요소를 특정 점으로 이동시킵니다. 상대 변환은 요소를 특정 거리만큼 이동합니다.

기본적인 변환 변환 행렬의 형식은 다음과 같습니다.

$$T=\begin{bmatrix} 1 & 0 & translate\_x\\ 0 & 1 & translate\_y\\ 0 & 0 & 1 \end{bmatrix}$$

UpdatePageElementTransformRequest를 사용하는 경우 (크기, 기울기 또는 방향을 변경하지 않고)를 변환하려면 다음 중 하나를 사용할 수 있음 AffineTransform 구조:

// 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'
  }
}

확장

배율은 X를 따라 요소를 늘리거나 줄이는 작업입니다. Y 차원을 클릭하여 크기를 변경할 수 있습니다. 기본적인 조정 변환 행렬의 형식은 다음과 같습니다.

$$S=\begin{bmatrix} scale\_x & 0 & 0\\ 0 & scale\_y & 0\\ 0 & 0 & 1 \end{bmatrix}$$

이 행렬 형식을 RELATIVE 변환으로 직접 사용하여 요소에 영향을 주지만 요소의 렌더링된 기울기 및 변환에도 영향을 줄 수 있습니다. 기울기 또는 좌표이동에 영향을 주지 않고 요소의 크기를 조정하려면 요소의 배율로 참조 프레임을 표시합니다.

회전

회전 변환은 배율 및 크기를 사용하여 한 지점을 중심으로 페이지 요소를 회전합니다. shear 매개변수). 기본적인 회전 변환 행렬의 형식은 다음과 같습니다. 회전 각도 (라디안 단위)는 X축을 기준으로 측정되며 시계 반대 방향으로:

$$R=\begin{bmatrix} cos(\theta) & sin(\theta) & 0\\ -sin(\theta) & cos(\theta) & 0\\ 0 & 0 & 1 \end{bmatrix}$$

확장과 마찬가지로 이 행렬 형식을 RELATIVE로 직접 사용할 수 있습니다. 변환하여 요소를 회전하지만 이 경우 요소가 페이지 출처 정보 요소의 중심이나 다른 점, 해당 참조 프레임으로 이동합니다.

복습

반사는 특정 선 또는 축을 기준으로 요소를 미러링합니다. 기본 x축 및 y축 반사 변환 행렬의 형식은 다음과 같습니다.

$$F_x=\begin{bmatrix} 1 & 0 & 0\\ 0 & -1 & 0\\ 0 & 0 & 1\\ \end{bmatrix}\qquad\qquad F_y=\begin{bmatrix} -1 & 0 & 0\\ 0 & 1 & 0\\ 0 & 0 & 1\\ \end{bmatrix}$$

확장과 마찬가지로 이 행렬 형식을 RELATIVE로 직접 사용할 수 있습니다. 변환이 필요하지만 이로 인해 요소가 있습니다. 변환 없이 요소를 반영하려면 참조 프레임으로 이동시킬 수 있습니다.

요소 참조 프레임

기본적인 척도를 적용하면 성찰 또는 페이지로 직접 회전 변환 요소가 페이지의 참조 프레임에 변환을 생성합니다. 예를 들어 기본 회전은 페이지의 원점( 를 누릅니다. 하지만 예를 들어 중심점을 기준으로 요소를 회전할 수 있습니다.

자체 참조 프레임 내에서 요소를 변환하려면 요소를 기타 변환: 요소 중심을 이동하는 선행 변환 T1 그리고 요소를 이동하는 다음 변환 T2 원래 위치로 되돌립니다. 전체 작업은 행렬로 표현할 수 있음 제품:

$$A' = T2 \times B \times T1 \times A$$

다른 점을 변환하여 다른 기준틀로 전환할 수도 있습니다. 원본에 추가합니다 이 점이 새 참조의 중심이 됩니다. 있습니다.

이러한 각 변환을 개별적으로 수행할 수 있습니다. 순차 RELATIVE 변환 요청을 전송합니다. 이상적으로는 CPU 사용률에 맞게 행렬 곱셈이 포함된 위의 A'를 사용하고 결과를 단일로 적용합니다. ABSOLUTE 변환을 사용합니다. 또는 T2 * B * T1 곱을 미리 계산합니다. 이를 단일 RELATIVE 변환으로 적용합니다. 둘 다 더 효율적이지만 변환 요청을 개별적으로 전송하면 됩니다

제한사항

일부 크기 및 위치 지정 필드가 일부 페이지 유형과 호환되지 않습니다. 요소 아래 표에는 특정 페이지 요소와 크기 및 위치 지정 필드의 호환성이 요약되어 있습니다.

필드 도형 동영상
번역과
확장 아니요**
전단 아니요 아니요

** 표의 행 및 열 측정기준을 업데이트하려면 UpdateTableRowPropertiesRequestUpdateTableColumnPropertiesRequest입니다.

페이지 요소에 자르기가 있으면 모든 크기 및 위치 지정 필드에서 예기치 않은 결과가 발생할 수 있습니다. 모든 제한사항은 변경될 수 있습니다. 최신 정보는 Google Slides API를 참고하세요.

Slides API가 값을 리팩터링할 수 있음

페이지 요소를 만들 때 특정 시각적 결과를 제공합니다. 하지만 이 API는 게시자가 제공한 값을 동일한 시각적 모양을 산출하는 다른 값과 함께 사용할 수 있습니다. 일반적으로 API를 사용하여 크기를 작성하는 경우 동일한 크기가 반환되지 않을 수도 있습니다 있습니다. 그러나 변환을 있습니다.