1

ドキュメント内の特定の色のすべてを選択する Javascript Illustrator スクリプトを作成する方法はありますか? どこにも情報がありません。Select ドロップダウン メニューで私が求めていることを実行できることは知っていますが、スクリプトの一部としてこれが必要です。

私は次のようなことを試しました:

myDoc.selection = Spot.name("CutContour");

myDoc.selection = myDoc.spots.item("CutContour");

しかし、どちらも機能しません。

4

2 に答える 2

2

これはあなたを助けるはずです。オブジェクトのfillColor属性は、スウォッチオブジェクトへの参照ではありません(そのため、その名前を確認できます)。色自体の説明(見本パネルに紐は付いていません)。そうは言っても、一致する色のタイプ名とその値を探す必要があります。ただし、CutContourを指定し、2つの色にこの名前が付いている場合、期待どおりの結果が得られない可能性があります。

function getObjectsByColor ( colorName )
{
var doc, items, i = 0, n = 0, item, color, selectionArray = [];

if ( app.documents.length == 0 ){ 
    alert("No documents open");
    return;
}

doc = app.activeDocument;
try
{
    color = doc.swatches.getByName ( colorName );
}
catch(e)
{
    alert( "No such color !");
    return;
}

color = color.color ;

items = doc.pageItems;
n = items.length;
if ( items.length == 0 )
{
    alert( "No items found");
    return;
}

for ( i = 0; i < n ; i++ )
{
    item = items[i];
    if ( item.fillColor.typename == color.typename
    && item.fillColor.cyan == color.cyan
    && item.fillColor.magenta == color.magenta
    && item.fillColor.yellow == color.yellow
    && item.fillColor.black == color.black )
    {
        selectionArray [ selectionArray.length ] = item;
    }
}

if ( selectionArray.length == 0 )
{
    alert( "Nothing found" );
    return;
}

app.selection = selectionArray;
}

getObjectsByColor ("CutContour");

Loic

PS:Caldera RIPを使用していますか?

于 2012-07-02T20:52:49.103 に答える