諸般の事情で作成しました。
選択したオブジェクトのCMYK設定を5%刻みに変更します。
ただしグループ化やグラデーション、パターンなどには対応しません。
ベースにしたデータを選択して実行・・・
function roundToNearestFive(value) {
return Math.round(value / 5) * 5;
}
function adjustCMYKtoNearestFive() {
if (app.documents.length == 0) {
alert("ドキュメントが開かれていません。");
return;
}
var doc = app.activeDocument;
var sel = doc.selection;
if (sel.length == 0) {
alert("オブジェクトを選択してください。");
return;
}
for (var i = 0; i < sel.length; i++) {
var obj = sel[i];
if (obj.filled && obj.fillColor.typename == "CMYKColor") {
var cmyk = obj.fillColor;
// 各 CMYK 値を 5% 刻みに四捨五入し、
// 0〜100% の範囲に制限
cmyk.cyan = Math.min(100, Math.max
(0, roundToNearestFive(cmyk.cyan)));
cmyk.magenta = Math.min(100, Math.max
(0, roundToNearestFive(cmyk.magenta)));
cmyk.yellow = Math.min(100, Math.max
(0, roundToNearestFive(cmyk.yellow)));
cmyk.black = Math.min(100, Math.max
(0, roundToNearestFive(cmyk.black)));
obj.fillColor = cmyk;
}
}
alert("CMYK 値を 5% 刻みで四捨五入しました。");
}
adjustCMYKtoNearestFive();
それぞれのカラー設定。
実行すると直ぐに上のメッセージが表示されます。
処理結果です。
処理後のカラー設定。