Matrix¶
matrix
Description
A transformation matrix specification, used to transform the geometry of objects. Use it to specify and retrieve matrix information from an Illustrator document or from page items in a document.
Matrices are used in conjunction with the transform
method and as a property of a number of objects. A matrix specifies how to transform the geometry of an object. You can generate an original matrix using the Application object methods Application.getTranslationMatrix(), Application.getScaleMatrix(), or Application.getRotationMatrix().
A Matrix
is a record containing the matrix values, not a reference to a matrix object. The matrix commands operate on the values of a matrix record. If a command modifies a matrix, a modified matrix record is returned as the result of the command. The original matrix record passed to the command is not modified.
Properties¶
Matrix.mValueA¶
matrix.mValueA
Description
Matrix property a
.
Type
Number (double).
Matrix.mValueB¶
matrix.mValueB
Description
Matrix property b
.
Type
Number (double).
Matrix.mValueC¶
matrix.mValueC
Description
Matrix property c
.
Type
Number (double).
Matrix.mValueD¶
matrix.mValueD
Description
Matrix property d
.
Type
Number (double).
Matrix.mValueTX¶
matrix.mValueTX
Description
Matrix property tx
.
Type
Number (double).
Matrix.mValueTY¶
matrix.mValueTY
Description
Matrix property ty
.
Type
Number (double).
Matrix.typename¶
matrix.typename
Description
The class name of the referenced object.
Type
String, read-only.
Example¶
Combining matrices to apply multiple transformations¶
To apply multiple transformations to objects, it is more efficient to use the matrix suite than to apply the transformations one at a time. The following script demonstrates how to combine multiple matrices.
// Tranforms all art in a document using translation and rotation matrices,
// moves art half an inch to the right and 1.5 inches up on the page
if (app.documents.length > 0) {
var moveMatrix = app.getTranslationMatrix(0.5, 1.5);
// Add a rotation to the translation, 10 degrees counter clockwise
var totalMatrix = concatenateRotationMatrix(moveMatrix, 10);
// apply the transformation to all art in the document
var doc = app.activeDocument;
for (var i = 0; i < doc.pageItems.length; i++) {
doc.pageItems[i].transform(totalMatrix);
}
}