あるgroup itemをX=0pt Y=10pt 幅=100pt 高さ=200ptにしたいとき
set properties to {position:{0, 10}, width:100, height:200}
とやってしまうと大きさや場所は望みの場所に来るのですが線幅やアピアランスが消えてしまいます。解決するには
scale horizontal scale Wper vertical scale Hper line scale Wper ¬ about top left with transforming objects, transforming fill patterns,¬ transforming fill gradients and transforming stroke patterns
を使って変倍したあとpositionで移動させます。
scaleのオプションパラメータは以下のとおり horizontal scale 120--左右の変倍比率(120だと120%) vertical scale 120-- 天地の変倍比率 line scale 120-- 線幅の変倍比率 about top left--左上基準で変倍 bottom rightで右下基準 centerで中心基準 with transforming objects,--効果も変倍する transforming fill patterns,--塗りのパターンも変倍する transforming fill gradients --グラデも変倍する and transforming stroke patterns--線のパターンも変倍する
下記が変倍のサンプルスクリプトです。希望の大きさと現在の大きさの比率を出して変倍してから移動しています。
tell application "Adobe Illustrator" tell document 1 tell group item 1 set properties to {position:{0, 10}, width:100, height:200} --これをすると線幅やアピアランスが消えてしまう --(Illustrator10では大丈夫) set myCB to control bounds --オブジェクトを選択してドラッグするときに表示される輪郭。 --オブジェクトよりひとまわり大きい。 set myGB to geometric bounds --オブジェクトのアンカーポイントぴったりのサイズ set myVB to visible bounds --オブジェクトに線の設定がされていれば線幅も加えたサイズになる。 set myX to item 1 of myGB set myY to item 2 of myGB set myW to (item 3 of myGB) - myX set myH to (item 4 of myGB) - myY set Wper to 100 / myW * 100 set Hper to 200 / myH * 100 scale horizontal scale Wper vertical scale Hper line scale Wper ¬ about top left with transforming objects, transforming fill patterns,¬ transforming fill gradients and transforming stroke patterns set position to {0, 10} end tell end tell end tell
コメントする