Fireworks CS5で角丸を指定した値に変形するコマンド
FireWorksの長方形角丸で縦横の長さの比率が同じならきれいに角丸が出来ますが、縦横の比率が違うとどうも崩れる。
で、探していたらバシャログさん経由できんくまデザインさんの記事が。。。
そのままではCS5で動かなかったので、改変。
元々の動きが分からないのですが、たぶんFireWorksの仕様上『角丸長方形』のまま角をキレイにするのは難しそう。
なので、『長方形』の形式で角を変更するようにしています。
きんくまデザインさんのもとコードはこちら→Fireworksでくずれた角丸を元通りにするコマンド
(きんくまデザインさんの記事でライセンスがMITになってたんですが、ライセンス/著作権者名も明記がなかったんですが、どこに書くのがよいのかわかりません・・・)
CS5用
var replaceroundRect = function()
{
//クリップにコピー
fw.getDocumentDOM().clipCopy();
//選択したオブジェクト
var currentRect= fw.selection[0];
//未選択状態はなにもしない
if ( currentRect == null ) return;
//オブジェクトの位置を取得
var _right = currentRect.left + currentRect.width;
var _bottom = currentRect.top + currentRect.height;
//角丸値
var _roundness = -1.0;
while( _roundness < 0.0 || 1.0 < _roundness )
{
_roundness = prompt("角丸の値を0から1.0の間で入力", "");
//キャンセル
if ( _roundness == null ) return;
}
//元のオブジェクトを削除
fw.getDocumentDOM().deleteSelection(false);
//新しくオブジェクトを追加
fw.getDocumentDOM().addNewRectanglePrimitive({
left:currentRect.left,
top:currentRect.top,
right:_right,
bottom:_bottom
}, _roundness );
//属性をコピー
fw.getDocumentDOM().clipPasteAttributes();
//クリップを削除
};
replaceroundRect();
[使い方]
・上のコードを適当な名前をつけて(ファイル名がコマンド名になります)次のフォルダに保存
C:Program FilesAdobeAdobe Fireworks CS5ConfigurationCommands
例えば、『ReplaceRoundRect.jsf』
・角を丸くしたいものを選択して『コマンド』 → 『(上の作業でつけたファイル名)』 → ダイアログで角Rを入力
角Rは0.0~1.0で入力して使います。
元の色属性を引き継いで角を丸くしているだけなので、別名『何でも角丸長方形変換機能』です。。。
角Rをわざわざ入力してますが、本来『角丸長方形』には角Rの値が存在するんでしょうかね?
深く追えてないのですが・・・~~;