Adobe 0046100128056 Scripting Guide - Page 69

Transforming again, Resize and Reframe

Page 69 highlights

CHAPTER 5: Working with Page Items Resize and Reframe 69 Transforming again Just as you can apply a transformation or sequence of transformations again in the user interface, you can do so using scripting. There are four methods for applying transformations again: X transformAgain X transformAgainIndividually X transformSequenceAgain X transformSequenceAgainIndividually The following script fragment shows how to use transformAgain. (For the complete script, see TransformAgain.) var myRectangle = myPage.rectangles.item(0); var myBounds = myRectangle.geometricBounds; var myX1 = myBounds[1]; var myY1 = myBounds[0]; var myRectangleA = myPage.rectangles.add({geometricBounds:[myY1-12, myX1-12, myY1+12, myX1+12]}); var myTransformationMatrix = app.transformationMatrices.add({counterclockwiseRotationAngle:45}); myRectangleA.transform(CoordinateSpaces.pasteboardCoordinates, AnchorPoint.centerAnchor, myTransformationMatrix); var myRectangleB = myRectangleA.duplicate(); myRectangleB.transform(CoordinateSpaces.pasteboardCoordinates, [[0,0], AnchorPoint.topLeftAnchor], myTransformationMatrix, undefined, true); var myRectangleC = myRectangleB.duplicate(); myRectangleC.transformAgain(); var myRectangleD = myRectangleC.duplicate(); myRectangleD.transformAgain(); var myRectangleE = myRectangleD.duplicate(); myRectangleE.transformAgain(); var myRectangleF = myRectangleE.duplicate(); myRectangleF.transformAgain(); var myRectangleG = myRectangleF.duplicate(); myRectangleG.transformAgain(); var myRectangleH = myRectangleG.duplicate(); myRectangleH.transformAgain(); myRectangleB.transform(CoordinateSpaces.pasteboardCoordinates, AnchorPoint.centerAnchor, myTransformationMatrix); myRectangleD.transformAgain(); myRectangleF.transformAgain(); myRectangleH.transformAgain(); Resize and Reframe In addition to scaling page items using the transform method, you can also change the size of the shape using two other methods: resize and reframe. These methods change the location of the path points of the page item without scaling the content or stroke weight of the page item. The following script fragment shows how to use the resize method. For the complete script, see Resize. //Given a reference to a rectangle "myRectangle"... var myDuplicate = myRectangle.duplicate(); myDuplicate.resize(CoordinateSpaces.innerCoordinates, AnchorPoint.centerAnchor, ResizeMethods.multiplyingCurrentDimensionsBy, [2, 2]);

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208
  • 209

C
HAPTER
5: Working with Page Items
Resize and Reframe
69
Transforming again
Just as you can apply a transformation or sequence of transformations again in the user interface, you can
do so using scripting. There are four methods for applying transformations again:
X
transformAgain
X
transformAgainIndividually
X
transformSequenceAgain
X
transformSequenceAgainIndividually
The following script fragment shows how to use
transformAgain
. (For the complete script, see
TransformAgain.)
var myRectangle = myPage.rectangles.item(0);
var myBounds = myRectangle.geometricBounds;
var myX1 = myBounds[1];
var myY1 = myBounds[0];
var myRectangleA = myPage.rectangles.add({geometricBounds:[myY1-12, myX1-12, myY1+12,
myX1+12]});
var myTransformationMatrix =
app.transformationMatrices.add({counterclockwiseRotationAngle:45});
myRectangleA.transform(CoordinateSpaces.pasteboardCoordinates,
AnchorPoint.centerAnchor, myTransformationMatrix);
var myRectangleB = myRectangleA.duplicate();
myRectangleB.transform(CoordinateSpaces.pasteboardCoordinates, [[0,0],
AnchorPoint.topLeftAnchor], myTransformationMatrix, undefined, true);
var myRectangleC = myRectangleB.duplicate();
myRectangleC.transformAgain();
var myRectangleD = myRectangleC.duplicate();
myRectangleD.transformAgain();
var myRectangleE = myRectangleD.duplicate();
myRectangleE.transformAgain();
var myRectangleF = myRectangleE.duplicate();
myRectangleF.transformAgain();
var myRectangleG = myRectangleF.duplicate();
myRectangleG.transformAgain();
var myRectangleH = myRectangleG.duplicate();
myRectangleH.transformAgain();
myRectangleB.transform(CoordinateSpaces.pasteboardCoordinates,
AnchorPoint.centerAnchor, myTransformationMatrix);
myRectangleD.transformAgain();
myRectangleF.transformAgain();
myRectangleH.transformAgain();
Resize and Reframe
In addition to scaling page items using the transform method, you can also change the size of the shape
using two other methods: resize and reframe. These methods change the location of the path points of the
page item without scaling the content or stroke weight of the page item. The following script fragment
shows how to use the resize method. For the complete script, see Resize.
//Given a reference to a rectangle "myRectangle"...
var myDuplicate = myRectangle.duplicate();
myDuplicate.resize(CoordinateSpaces.innerCoordinates, AnchorPoint.centerAnchor,
ResizeMethods.multiplyingCurrentDimensionsBy, [2, 2]);