Fireworksでくずれた角丸を元通りにするコマンド

2009/01/20

こんばんは。きんくまです。

Fireworksで角丸矩形を作ったあと、それを拡大縮小するときの話です。

縦横比を固定のままだと問題ないんですが、固定じゃない場合、角丸がくずれちゃいます。
それを、直そうというコマンドを作りました。

やっていることは、くずれた矩形を削除してから、新しい矩形を作って、前の属性をコピーする。
というそれだけです。ヒストリパネルからいくつかコピったらすぐできました。

■使い方
1.下のソースをコピーして、「replaceRoundRect.jsf」などの名前で保存。
拡張子が「.jsf」であれば何でもOK
2.Fireworks上で対象となる角丸矩形を選択
3.コマンド→スクリプトの実行から、さきほどのファイルを選べばOK

ちなみに毎回やるのがめんどいので、CS3の場合
C:Program Files\Adobe\Adobe Fireworks CS3\Configuration\Commands
ここに.jsfファイルをおいてから再起動かけるとコマンドに最初から入ってます。
他のバージョンのFireworksもFireworksフォルダから
ConfigurationCommands
ってめぐっていくとあるのでそこにいれて再起動をかけてみてください

(MIT License)
CS3用

fw.getDocumentDOM().clipCopy();
var currentRect= fw.selection[0];
var _right = currentRect.left + currentRect.width;
var _bottom = currentRect.top + currentRect.height;
var _roundness = currentRect.roundness;
fw.getDocumentDOM().deleteSelection(false);

fw.getDocumentDOM().addNewRectanglePrimitive({
  left:currentRect.left,
  top:currentRect.top,
  right:_right,
  bottom:_bottom
}, 0);

fw.getDocumentDOM().clipPasteAttributes();
fw.getDocumentDOM().setRectRoundness(_roundness);

CS4用(10/02/24追記)
>> サンプルソースダウンロード(ResetRoundRectCorner.jsf)

fw.getDocumentDOM().clipCopy();
var currentRect= fw.selection[0];
var _right = currentRect.left + currentRect.width;
var _bottom = currentRect.top + currentRect.height;
var _roundness = currentRect.roundness;
var mode = currentRect.mode;
fw.getDocumentDOM().deleteSelection(false);

fw.getDocumentDOM().addNewRectanglePrimitive({
	left:currentRect.left, 
	top:currentRect.top, 
	right:_right, 
	bottom:_bottom
}, 0);

fw.getDocumentDOM().clipPasteAttributes();
fw.getDocumentDOM().setRectRoundness(_roundness, mode);
LINEで送る
Pocket

自作iPhoneアプリ 好評発売中!
フォルメモ - シンプルなフォルダつきメモ帳
ジッピー電卓 - 消費税や割引もサクサク計算!

ページトップへ戻る