04)変倍する

| コメント(0) | トラックバック(0)

ある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

トラックバック(0)

トラックバックURL: http://www.adg7.com/mt/mt-tb.cgi/55

Comments are nofollow setting

コメントする

エントリー一覧

OpenID対応しています OpenIDについて
Powered by Movable Type 7.902.0
漢字イラストロジック-脳トレ京
FREE ONLINE SUDOKU