모든 색 그라데의 CMYK 분해 곡선을 이미징

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



바탕 화면에 둡니다.

좋은 웹페이지 즐겨찾기