Adobe 0046100128056 Scripting Guide - Page 67

Resolving locations, x, y - A point in the coordinate space given as

Page 67 highlights

CHAPTER 5: Working with Page Items Transforming Page Items 67 Z (x, y), bounds type, coordinate space - A point specified relative to the geometric bounds of the object (BoundingBoxLimits.geometricPathBounds) or the visible bounds of the object (BoundingBoxLimits.outerStrokeBounds) in a given coordinate space. In this case, the top-left corner of the bounding box is (0, 0); the bottom-right corner, (1, 1). The center anchor is located at (.5, .5). [[.5, .5], BoundingBoxLimits.outerStrokeBounds, CoordinateSpaces.pasteboardCoordinates] X Ruler space: Z (x, y), page index - A point, relative to the ruler origin on a specified page of a spread. [[72, 144], 0] Z (x, y), location - A point, relative to the parent page of the specified location of the object. Location can be specified as an anchor point or a coordinate pair. It can be specified relative to the object's geometric or visible bounds, and it can be specified in a given coordinate space. [[72, 144], AnchorPoint.centerAnchor] X Transform space: Z (x, y) - A point in the pasteboard coordinate space. [72, 72] Z (x, y), coordinate system - A point in the specified coordinate space. [[72, 72], CoordinateSpaces.parentCoordinates] Z ((x, y)) - A point in the coordinate space given as the in parameter of the transform method. [[72, 72]] The following script example shows how to use some of the transformation origin options. (For the complete script, see TransformationOrigin.) //Rotate around the duplicated rectangle's center point. myNewRectangle.transform(CoordinateSpaces.pasteboardCoordinates, AnchorPoint.centerAnchor, myTransformationMatrix); //Rotate the rectangle around the ruler location [-100, -100]. //Note that the anchor point specified here specifes the page //containing the point--*not* that transformation point itself. //The transformation gets the ruler coordinate [-100, -100] based //on that page. Setting the considerRulerUnits parameter to true makes //certain that the transformation uses the current ruler units. myNewRectangle.transform(CoordinateSpaces.pasteboardCoordinates, [[-100, -100], AnchorPoint.topLeftAnchor], myTransformationMatrix, undefined, true); Resolving locations Sometimes, you need to get the location of a point specified in one coordinate space in the context of another coordinate space. To do this, you use the resolve method, as shown in the following script example. (For the complete script, see ResolveLocation.) var myPageLocation = myRectangle.resolve([[72, 72], AnchorPoint.topRightAnchor], CoordinateSpaces.pasteboardCoordinates, true); //resolve() returns an array containing a single item. alert("X: " + myPageLocation[0][0] + "\rY: " + myPageLocation[0][1]);

  • 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
Transforming Page Items
67
Z
(x, y), bounds type, coordinate space — A point specified relative to the geometric bounds of the
object (
BoundingBoxLimits.geometricPathBounds
) or the visible bounds of the object
(
BoundingBoxLimits.outerStrokeBounds
) in a given coordinate space. In this case, the top-left
corner of the bounding box is (0, 0); the bottom-right corner, (1, 1). The center anchor is located at
(.5, .5).
[[.5, .5], BoundingBoxLimits.outerStrokeBounds,
CoordinateSpaces.pasteboardCoordinates]
X
Ruler space:
Z
(x, y), page index — A point, relative to the ruler origin on a specified page of a spread.
[[72, 144], 0]
Z
(x, y), location — A point, relative to the parent page of the specified location of the object.
Location can be specified as an anchor point or a coordinate pair. It can be specified relative to the
object’s geometric or visible bounds, and it can be specified in a given coordinate space.
[[72, 144], AnchorPoint.centerAnchor]
X
Transform space:
Z
(x, y) — A point in the pasteboard coordinate space.
[72, 72]
Z
(x, y), coordinate system — A point in the specified coordinate space.
[[72, 72], CoordinateSpaces.parentCoordinates]
Z
((x, y)) — A point in the coordinate space given as the
in
parameter of the
transform
method.
[[72, 72]]
The following script example shows how to use some of the transformation origin options. (For the
complete script, see TransformationOrigin.)
//Rotate around the duplicated rectangle's center point.
myNewRectangle.transform(CoordinateSpaces.pasteboardCoordinates,
AnchorPoint.centerAnchor, myTransformationMatrix);
//Rotate the rectangle around the ruler location [-100, -100].
//Note that the anchor point specified here specifes the page
//containing the point--*not* that transformation point itself.
//The transformation gets the ruler coordinate [-100, -100] based
//on that page. Setting the considerRulerUnits parameter to true makes
//certain that the transformation uses the current ruler units.
myNewRectangle.transform(CoordinateSpaces.pasteboardCoordinates, [[-100, -100],
AnchorPoint.topLeftAnchor], myTransformationMatrix, undefined, true);
Resolving locations
Sometimes, you need to get the location of a point specified in one coordinate space in the context of
another coordinate space. To do this, you use the
resolve
method, as shown in the following script
example. (For the complete script, see ResolveLocation.)
var myPageLocation = myRectangle.resolve([[72, 72], AnchorPoint.topRightAnchor],
CoordinateSpaces.pasteboardCoordinates, true);
//resolve() returns an array containing a single item.
alert("X: " + myPageLocation[0][0] + "\rY: " + myPageLocation[0][1]);