Illustrator CS3〜CC編 グレースケール画像かどうか調べる

Illustratorで配置した(埋め込み画像のみ)画像は、グレースケール画像や反転画像として設定することができます。カラー画像を配置した後で元画像に変更を加えることなく、手軽にグレースケールにすることができます。

今回はドキュメント内に埋め込まれた画像が、グレースケールかどうかを調べるスクリプトです。ただ、ここで調べることができるのは、Illustrator上で画像を埋め込み画像として配置した後、編集メニューから「カラーを編集」>「グレースケールに変換」のように処理したものに限定されます。

もともと、グレースケールになっている画像を、CMYK画像として配置している場合はチェックの対象外です。

以下のスクリプトは、開かれているドキュメント内にグレースケール画像があるかどうか調べ、該当する画像があればアラートダイアログを表示します。


// 画像がグレースケールかどうか調べる
var cm = ImageColorSpace.GrayScale;
var img=activeDocument.rasterItems;
for(var i=0;i<img.length;i++){
if(img[i].imageColorSpace==cm){
alert("グレー!");
break;
}
}

以下のスクリプトは、ドキュメント内にグレースケール画像がある場合に選択状態にします。この方が見つけやすいでしょう。

// 画像がグレースケールかどうか調べ該当するものだけを選択状態にする
app.selection = null; // 全ての選択を解除
var cm = ImageColorSpace.GrayScale;
var img=activeDocument.rasterItems;
for(var i=0;i<img.length;i++){
if(img[i].imageColorSpace==cm){
img[i].selected = true;
}
}

なお、グレースケール画像ではなくRGB画像やCMYK画像をチェックしたい場合
は、以下のImageColorSpace.GrayScale部分を変更してください。

var cm = ImageColorSpace.GrayScale;

指定できるのは以下の文字になります。

ImageColorSpace.CMYK    CMYKカラー
ImageColorSpace.Separation  セパレーションカラー
ImageColorSpace.Grayscale  グレースケール
ImageColorSpace.DeviceN   DeviceNカラー
ImageColorSpace.RGB     RGBカラー
ImageColorSpace.Indexed   インデックスカラー
ImageColorSpace.LAB     LABカラー



[サンプルをダウンロード]