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カラー
[
サンプルをダウンロード]