Class AffineTransform
Stay organized with collections
Save and categorize content based on your preferences.
AffineTransform
A 3x3 matrix used to transform source coordinates (x1, y1) into destination coordinates (x2, y2)
according to matrix multiplication:
[ x2 ] [ scaleX shearX translateX ] [ x1 ]
[ y2 ] = [ shearY scaleY translateY ] [ y1 ]
[ 1 ] [ 0 0 1 ] [ 1 ]
After transformation,
x2 = scaleX * x1 + shearX * y1 + translateX;
y2 = scaleY * y1 + shearY * x1 + translateY;
Detailed documentation
getScaleX()
Gets the X coordinate scaling element.
Return
Number
getScaleY()
Gets the Y coordinate scaling element.
Return
Number
getShearX()
Gets the X coordinate shearing element.
Return
Number
getShearY()
Gets the Y coordinate shearing element.
Return
Number
getTranslateX()
Gets the X coordinate translation element in points.
Return
Number
getTranslateY()
Gets the Y coordinate translation element in points.
Return
Number
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2024-12-03 UTC.
[null,null,["Last updated 2024-12-03 UTC."],[[["\u003cp\u003eAffineTransform uses a 3x3 matrix to transform 2D coordinates on a presentation slide.\u003c/p\u003e\n"],["\u003cp\u003eIt allows for scaling, shearing, and translation operations on objects using x and y coordinates.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003egetScaleX()\u003c/code\u003e, \u003ccode\u003egetScaleY()\u003c/code\u003e, \u003ccode\u003egetShearX()\u003c/code\u003e, \u003ccode\u003egetShearY()\u003c/code\u003e, \u003ccode\u003egetTranslateX()\u003c/code\u003e, and \u003ccode\u003egetTranslateY()\u003c/code\u003e methods provide access to individual transformation elements.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003etoBuilder()\u003c/code\u003e can be utilized for creating a new transform based on an existing one using the AffineTransformBuilder.\u003c/p\u003e\n"]]],["AffineTransform uses a 3x3 matrix to convert source coordinates (x1, y1) to destination coordinates (x2, y2) via matrix multiplication, resulting in x2 = scaleX * x1 + shearX * y1 + translateX and y2 = scaleY * y1 + shearY * x1 + translateY. It provides methods to get scaling elements (getScaleX, getY), shearing elements (getShearX, getY), and translation elements (getTranslateX, getY). A toBuilder method is available to return an AffineTransformBuilder.\n"],null,["# Class AffineTransform\n\nAffineTransform\n\nA 3x3 matrix used to transform source coordinates (x1, y1) into destination coordinates (x2, y2)\naccording to matrix multiplication:\n\n```text\n[ x2 ] [ scaleX shearX translateX ] [ x1 ]\n[ y2 ] = [ shearY scaleY translateY ] [ y1 ]\n[ 1 ] [ 0 0 1 ] [ 1 ]\n```\n\nAfter transformation,\n\n```text\nx2 = scaleX * x1 + shearX * y1 + translateX;\ny2 = scaleY * y1 + shearY * x1 + translateY;\n``` \n\n### Methods\n\n| Method | Return type | Brief description |\n|-------------------------------------|----------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------|\n| [getScaleX()](#getScaleX()) | `Number` | Gets the X coordinate scaling element. |\n| [getScaleY()](#getScaleY()) | `Number` | Gets the Y coordinate scaling element. |\n| [getShearX()](#getShearX()) | `Number` | Gets the X coordinate shearing element. |\n| [getShearY()](#getShearY()) | `Number` | Gets the Y coordinate shearing element. |\n| [getTranslateX()](#getTranslateX()) | `Number` | Gets the X coordinate translation element in points. |\n| [getTranslateY()](#getTranslateY()) | `Number` | Gets the Y coordinate translation element in points. |\n| [toBuilder()](#toBuilder()) | [AffineTransformBuilder](/apps-script/reference/slides/affine-transform-builder) | Returns a new [AffineTransformBuilder](/apps-script/reference/slides/affine-transform-builder) based on this transform. |\n\nDetailed documentation\n----------------------\n\n### `get``Scale``X()`\n\nGets the X coordinate scaling element.\n\n#### Return\n\n\n`Number`\n\n*** ** * ** ***\n\n### `get``Scale``Y()`\n\nGets the Y coordinate scaling element.\n\n#### Return\n\n\n`Number`\n\n*** ** * ** ***\n\n### `get``Shear``X()`\n\nGets the X coordinate shearing element.\n\n#### Return\n\n\n`Number`\n\n*** ** * ** ***\n\n### `get``Shear``Y()`\n\nGets the Y coordinate shearing element.\n\n#### Return\n\n\n`Number`\n\n*** ** * ** ***\n\n### `get``Translate``X()`\n\nGets the X coordinate translation element in points.\n\n#### Return\n\n\n`Number`\n\n*** ** * ** ***\n\n### `get``Translate``Y()`\n\nGets the Y coordinate translation element in points.\n\n#### Return\n\n\n`Number`\n\n*** ** * ** ***\n\n### `to``Builder()`\n\nReturns a new [AffineTransformBuilder](/apps-script/reference/slides/affine-transform-builder) based on this transform.\n\n#### Return\n\n\n[AffineTransformBuilder](/apps-script/reference/slides/affine-transform-builder)"]]