変換とページ要素

このガイドでは、データの変換(つまり、 (移動、回転、スケーリング、傾斜など)を使用して、ページ要素の 基になるアフィン変換とそのオペレーションに存在します。

アフィン変換を使用して特定の結果を得る方法について詳しくは、 詳しくは、シェイプのサイズと配置に関するガイドをご覧ください。

ページ要素の視覚的なサイズと位置は、 sizetransform プロパティを使用します。サイズは理想的なサイズまたは組み込みのサイズを表します 作成するページ要素の要素ですこの変換では、2 次元の アフィン変換行列 では、組み込みのサイズのオブジェクトを変換して、その結果を 最終的な見た目になります。

アフィン変換によってレンダリングされたシェイプの図

スライド UI でページ要素を選択して表示サイズを変更したとき 調整ハンドルを使用して変換する場合、実際にはこの変換行列を更新していることになります。 ページ上で要素を移動したり回転させたりすると、 使用します。

スライドの UI を使用する

ページ要素の変換とサイズ変更に使用する行列演算は、 最初は大変かもしれませんこのページのほとんどの部分では、 計算できます。ただし、変換の仕様を簡素化し、 次のように設定されます。

  1. スライド UI を使用してページ要素を作成します。
  2. スライドの UI を使用して、これらのページ要素の位置を必要に応じて調整します。
  3. get メソッドを使用して、これらの要素のサイズと変換を読み取ります。

開始するにはそれで十分です。これ以降のセクションでは は、ページ要素を詳細に操作するために使用できます。

アフィン変換行列

グラフィックでは 2 次元アフィン変換行列がよく使用される のスケール、回転、傾斜、鏡像、および平行移動を制御するためのライブラリ あります。スライド API ではページ要素の変換が を 3 行 3 行列とします。

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

変換で使用されるパラメータは次のとおりです。

translate_x 変換パラメータでは、変換の (X,Y) 位置を指定します。 ページ要素の左上隅を、ページの左上隅を基準として 表示されます。相対位置は、 単位 ポイント(pt)または英メートル単位(EMU)のいずれかです。
translate_y
scale_x スケーリング パラメータは、表示するページの要素のサイズを 表示されます。これらは単位のない乗算係数です。例: scale_x 値を 1.5 にすると、要素の幅が 50% 拡大します。
scale_y
shear_x 傾斜パラメータも単位なしであり、ページの傾斜を制御します。 要素です。縮尺と傾斜パラメータを併用すると、ページを回転させることができます。 要素です。
shear_y

ウェブ上にはさまざまな例が掲載されており、 2 次元変換行列の仕組み グラフィカルオブジェクトのレンダリングに 影響します

変換行列は、含まれるグループまたはページを基準とします。 要素です。たとえば、長方形を含むグループを回転すると、 グループの transform フィールドの値は回転を反映しますが、長方形の transform 一致しません。

ビジュアル サイズを計算しています

ページ要素の視覚的な(レンダリングされる)サイズを決定するには、以下を考慮する必要があります。 両方のプロパティを一緒に使用します。診断の際に サイズ プロパティを比較するだけで、2 つのページ要素が視覚的に大きく表示されます。 変換行列を使用して要素の境界をマッピングし、 レンダリングされたサイズを計算します。

点のマッピング

変換行列を使用して特定の点をマッピングするには、点 (x, y) を ベクトル [x, y, 1] に変換し、行列の乗算を行います。次の点を考慮してください。 点 p のマッピング:

\[p' = Ap\]

次のようになります。

$$\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}$$

したがって、新しい点 p' の座標は次のようになります。

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

境界の計算

変換後に要素の境界ボックスのレンダリング サイズを決定するため では、以下を使用します。

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

アフィン変換を使用して特定の結果を得る方法について詳しくは、 詳しくは、シェイプのサイズと配置に関するガイドをご覧ください。

制限事項

一部のサイズフィールドと配置フィールドは、一部のタイプのページに対応していません あります。次の表は、特定のページ要素とサイズフィールドと配置フィールドの互換性をまとめたものです。

フィールド 図形 動画
翻訳
スケーリング ×**
シェア いいえ いいえ

** 表の行と列のディメンションを更新するには、 UpdateTableRowPropertiesRequest および UpdateTableColumnPropertiesRequest

ページ要素に傾斜がある場合、すべてのサイズ設定と配置フィールドで予期しない結果が生じる可能性があります。すべての制限は変更される場合があります。最新の情報については、Google スライド API をご覧ください。