SSブログ

RGB値からCMYK値を計算してみる。 [AppleScript辞書はつくれるか?]

 

image230712a.jpg

 

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.01.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.0100.0(百分率)の値で出力 |

end RGB_to_CMYK

 

しかし、カラープロファイルを反映していない理論値なので、CMYKで表現できない色なんかは物凄い濁った色の数値になっている。

 

参考:https://tomari.org/main/java/color/ccal.html 

 


nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。