「strokeColor」にレジストレーションを指定したい

[n20130701150743]「strokeColor」にレジストレーションを指定したい 投稿者:つぐぽん 投稿日:2013/07/01 15:07:43
IllustratorCS5.1にてjavascriptを使用して描画作業を行いたいと考えております。
線のカラーをスポットカラー(レジストレーション)を使用したいと考えております。

どうもうまくいきません。

例えば下記スクリプトを走らせると

var myMm = 2.83466796875/1;

docObj = activeDocument;
lsodeObj = docObj.pathItems.rectangle(0,0,100,100);//表1作成
rect_setting(lsodeObj);

function rect_setting(TargetObj)
{
StColor = setColor(0,0,0,100); // スミ
TargetObj.filled = false; // 塗り無し
TargetObj.stroked = true; // 線あり
TargetObj.strokeWidth = 0.1*myMm;
TargetObj.strokeColor = StColor;
}

スミの矩形が作成されます。
この矩形の線種をレジストレーションにて作成したいのです。
どうしてもうまくいかないのですが、どのよう修正すればよろしいでしょうか?

皆様のお知恵を拝借したくよろしくお願いいたします。
StColor = setColor(0,0,0,100); // スミ

この行を下のように変更してみてください。

StColor = docObj.swatches["[レジストレーション]"].color; // レジストレーション
書かれていたスクリプトだけだとsetColor関数がないみたいなエラーが出て、うまく動かなかったので、調べて追記しました。

また、Subiさんの書かれていたswatchesプロパティでレジストレーションを設定すればレジストレーションにもなりました。これ、値を「色あせた空」にすればスウォッチにある透明グラデーションが設定されるのですね(Illustrator CS6で確認しています)。
勉強になりました。

───────────────────────────────
var myMm = 2.83466796875/1;

docObj = activeDocument;
lsodeObj = docObj.pathItems.rectangle(0,0,100,100);//表1作成
rect_setting(lsodeObj);

function rect_setting(TargetObj)
{
StColor = setColor(0,0,0,100); // スミ
TargetObj.filled = false; // 塗り無し
TargetObj.stroked = true; // 線あり
TargetObj.strokeWidth = 0.1*myMm;
TargetObj.strokeColor = StColor;
}

//参考:ASCII.jp:IllustratorもJavaScriptで自由自在に! (4/4)|古籏一浩のJavaScriptラボ http://ascii.jp/elem/000/000/453/453500/index-4.html
function setColor(c,m,y,k){
var tmpColor = new CMYKColor();
tmpColor.cyan = c;
tmpColor.magenta = m;
tmpColor.yellow = y;
tmpColor.black = k;
return tmpColor;
}
───────────────────────────────

このページをシェア