PhotoshopでRGB→CMYK、CMYK→RGB変換
PhotoshopでRGB⇄CMYKの色変換を行うAppleScriptです。
choose colorで選択した色を、Photoshopを用いてRGB⇄CMYKの色変換を行うものです。PhotoshopをAppleScriptから制御して画像フォーマットを変換させるのは「よくある使い方」ですが、Mac OS X 10.6でColorSync Scriptingが廃止されたいまとなっては、色空間の変換を行う処理エンジンとして使うケースもけっこうあります。
CMYKへの色変換を行う機能がまともにないOS向けに、RGB⇄CMYK変換のテーブルを作成するさいの処理エンジンとして使ってみたりと、割と大活躍しています。InDesignと違って、AppleScriptから連続してコントロールしてもクラッシュしにくい、というのもいいところです。
スクリプト名:PhotoshopでRGB→CMYK、CMYK→RGB変換 |
–色選択 set {rCol, gCol, bCol} to choose color –16ビット値→8ビット値 変換 set rCol to rCol div 256 set gCol to gCol div 256 set bCol to bCol div 256 set aCMYK to retCMYKfromRGBnumList(rCol, gCol, bCol) of me –> {0, 82, 82, 0} –結果は選択した色によって異なります。返ってくる値が4つの数字で構成されることを示しています copy aCMYK to {cNum, mNum, yNum, kNum} set bRGB to retRGBfromCMYKnumList(cNum, mNum, yNum, kNum) of me –> {154, 192, 57}–結果は選択した色によって異なります。返ってくる値が3つの数字で構成されることを示しています –与えられたテキストをRGBデータと評価してCMYK値を返す on retCMYKfromRGBnumList(rNum, gNum, bNum) tell application "Adobe Photoshop CS3" set myCMYKColor to convert color {class:RGB color, red:rNum, green:gNum, blue:bNum} to CMYK set cyanNum to cyan of myCMYKColor set magentaNum to magenta of myCMYKColor set yellowNum to yellow of myCMYKColor set kuroNum to black of myCMYKColor end tell set cyanNum to round cyanNum rounding as taught in school –四捨五入 set magentaNum to round magentaNum rounding as taught in school –四捨五入 set yellowNum to round yellowNum rounding as taught in school –四捨五入 set kuroNum to round kuroNum rounding as taught in school –四捨五入 return {cyanNum, magentaNum, yellowNum, kuroNum} end retCMYKfromRGBnumList –与えられたCMYKデータをRGBに変換して返す on retRGBfromCMYKnumList(cNum, mNum, yNum, kNum) tell application "Adobe Photoshop CS3" set myRGBColor to convert color {class:CMYK color, cyan:cNum, magenta:mNum, yellow:yNum, black:kNum} to RGB set redNum to red of myRGBColor set greenNum to green of myRGBColor set blueNum to blue of myRGBColor end tell set redNum to round redNum rounding as taught in school –四捨五入 set greenNum to round greenNum rounding as taught in school –四捨五入 set blueNum to round blueNum rounding as taught in school –四捨五入 return {redNum, greenNum, blueNum} end retRGBfromCMYKnumList |