RGB値からCMYK値を計算してみる。 [AppleScript辞書はつくれるか?]
Apple Script |
--入力 set {r, g, b} to choose color --返り値が16bitの値になっている set {r, g, b} to {r / 65535, g / 65535, b / 65535} -- (2^16) ではなく ((2^16) - 1) を使っている。
set anColor to my RGB_to_CMYK(r, g, b) --出力 log anColor set colorText to "入力:R=" & r & " G=" & g & " B=" & b & return set colorText to colorText & "出力:C=" & (c of anColor) & "% M=" & (m of anColor) & "% " set colorText to colorText & "Y=" & (y of anColor) & "% K=" & (k of anColor) & "%" colorText
on RGB_to_CMYK(r, g, b) -- | r,g,bのそれぞれの値は0.0~1.0の数字で入力 | set maxK to r if maxK < g then set maxK to g if maxK < b then set maxK to b (* set _k to 1 - maxK set _c to 1 - r - k set _m to 1 - g - k set _y to 1 - b - k set k to ((_k * 1000) as integer) / 10.0 set c to ((_c * 1000) as integer) / 10.0 set m to ((_m * 1000) as integer) / 10.0 set y to ((_y * 1000) as integer) / 10.0 *) set k to ((1000.0 * (1 - maxK)) as integer) / 10.0 set c to ((-1000.0 * (r - maxK)) as integer) / 10.0 set m to ((-1000.0 * (g - maxK)) as integer) / 10.0 set y to ((-1000.0 * (b - maxK)) as integer) / 10.0 return {c:c, m:m, y:y, k:k} -- | 出力は、0.0~100.0(百分率)の値で出力 | end RGB_to_CMYK |
しかし、カラープロファイルを反映していない理論値なので、CMYKで表現できない色なんかは物凄い濁った色の数値になっている。
参考:https://tomari.org/main/java/color/ccal.html
コメント 0