任意の色グラデのCMYK分解カーブを画像化する
18918 ワード
Labを指定し、Lのみ0〜100したグラデのCMYK値をPhotoshopに吐き出させて、Bridgeで読み込み画像にします。
汚いけど一応うごくから触らない!(再
Photoshop環境設定のCMYKプロファイル+マッチング方法を設定しておいて実行。
カラーピッカーで任意の色を選択すると、デスクトップにプロファイル名+LabのA+LabのBのファイル名のテキストを書き出す。
PhotoshopCMYK.jsx
#target photoshop
var myColor = new SolidColor;
app.showColorPicker();
var doc = app.documents.add(100, 50, 72, "CMYK Separation Curves", NewDocumentMode.CMYK);
var profile_name = doc.colorProfileName;
var myFColor = app.foregroundColor.lab.a+'_'+app.foregroundColor.lab.b;
doc.close(SaveOptions.DONOTSAVECHANGES);
profile_name=profile_name.replace (/\//g, '_');
var myFile=new File('~/Desktop/'+profile_name+'_'+myFColor);
myFile.open("w");
myFile.encoding='BINARY';
for (var myG=0;myG<101;myG++){
myColor.lab.l=myG;
myColor.lab.a = app.foregroundColor.lab.a;
myColor.lab.b = app.foregroundColor.lab.b;
myC = myColor.cmyk.cyan;
myM = myColor.cmyk.magenta;
myY = myColor.cmyk.yellow;
myK = myColor.cmyk.black;
myR = myColor.rgb.red;
myGr = myColor.rgb.green;
myB = myColor.rgb.blue;
myWrite = myG+"\t"+myR+"\t"+myGr+"\t"+myB+"\t"+myC+"\t"+myM+"\t"+myY+"\t"+myK;
myFile.writeln(myWrite);
}
myFile.close();
Bridgeで書き出したテキストを選択しておいて実行。
デスクトップにgrid.pngを置いておき、その上に描画する。
ファイル名はテキストファイル名+jpg
BridgeCMYKChart.jsx
#target "Bridge"
var myFile=app.document.selections;
var mySc=File(myFile[0].path);
var myLine=new Array();
mySc.open("r");
while(!mySc.eof){myLine.push(mySc.readln());}
mySc.close();
var myImg=new BitmapData(new File("~/Desktop/grid.png"));
var myAry=new Array();
for(var i=0;i<100;i++){
myAry[i]=myLine[i].split("\t");
var myColor=new Color(0,255,255);
var myColor2 = new Color(myAry[i][1],myAry[i][2],myAry[i][3]);
myDraw2(i*4,201,myColor2);
myDraw(i*4, 200-myAry[i][4]*2,myColor);
var myColor=new Color(255,0,255);
myDraw(i*4, 200-myAry[i][5]*2, myColor);
var myColor=new Color(255,255,0);
myDraw(i*4, 200-myAry[i][6]*2, myColor);
var myColor=new Color(0,0,0);
myDraw (i*4, 200-myAry[i][7]*2, myColor);
}
myImg.exportTo(new File(myFile[0].path+".jpg"),100);
function myDraw(x,y,c){
for(var a=0;a<4;a++){
for(var b=0;b<2;b++){
myImg.setPixel (x+a, y+b, c);
}
}
}
function myDraw2(x,y,c){
for(var a=0;a<4;a++){
for(var b=0;b<20;b++){
myImg.setPixel (x+a, y+b, c);
}
}
}
grid.png
デスクトップに置いておく。
Author And Source
この問題について(任意の色グラデのCMYK分解カーブを画像化する), 我々は、より多くの情報をここで見つけました https://qiita.com/yamo74/items/34998c2f57478e7d7e5e著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .