具体的には、RubyプラットフォームのCMYK値(おそらくISO Coated v2
の領域)をRGB値(おそらくsRGB
の領域)に変換したいと思います)。ImageMagickで色を変換する(画像ではない)
ImageMagickはいい場所のように思えましたが、LittleCMSが移植されてRuby
で動作する可能性があると聞いてきました。
もう一度、イメージファイルではなく単一のカラーを変換することを検討しています。何か案は? ImageMagickので
具体的には、RubyプラットフォームのCMYK値(おそらくISO Coated v2
の領域)をRGB値(おそらくsRGB
の領域)に変換したいと思います)。ImageMagickで色を変換する(画像ではない)
ImageMagickはいい場所のように思えましたが、LittleCMSが移植されてRuby
で動作する可能性があると聞いてきました。
もう一度、イメージファイルではなく単一のカラーを変換することを検討しています。何か案は? ImageMagickので
、次の操作を実行できます。
convert xc:"cmyk(0,255,255,0)" -colorspace sRGB -format "%[pixel:u.p{0,0}]\n" info:
red
convert xc:"cmyk(0,255,255,0)" -profile /Users/fred/images/profiles/USWebCoatedSWOP.icc -profile /Users/fred/images/profiles/sRGB.icc -format "%[pixel:u.p{0,0}]\n" info:
srgb(93%,11%,14%)
これは非常に有望ですが、私は端末で次のエラーを受け取ります。 'convert: 'sRGB' @ error/convert.c/ConvertImageCommand/3251'。ドキュメント(https://www.imagemagick.org/script/convert.php)は、「変換」は色変換ではなく画像変換用であることを示唆しています。何か案は? – sambecker
ImageMagickのバージョンとプラットフォームは何ですか?構文の違いがあります。 IMの非常に古いバージョンでは、-colorspace sRGBをRGBで置き換えてみてください。どのコマンドからエラーが出されましたか? 2番目のコマンドで自分のパスではなくプロファイルに自分のパスを入れてください。このコマンドは、カラーを1ピクセルイメージに変換してから、カラースペースを変換し、作成した1ピクセルイメージを保存せずにピクセルカラー値を読み込みます。 – fmw42
私はMacOS Sierra 10.12上で、私はHomebrewを通してインストールしたImageMagick lcmsは何らかの理由でデリゲートとして表示されませんが、-little-cmsを使用しています。 – sambecker
あなたがsRGBで、より大きな 桁数を確保するためのフォーマットで微調整できるもの(X%で、Xの%、Xの%)
があります
異なるIMバージョンの可能性があります。 IM 7.0.7.8はsrgb(93.0648%、11.1254%、14.1741%)を示しています。 IM 6.9.9.20は整数を示しています。私はIM 6コマンドラインに-precision 4を追加しようとしましたが、それでも整数を取得します。より精度を上げるには、txt:出力形式を解析する必要があります。解析せずに例えば
:
convert xc:"cmyk(0,255,255,0)" -profile /Users/fred/images/profiles/USWebCoatedSWOP.icc -profile /Users/fred/images/profiles/sRGB.icc txt:
# ImageMagick pixel enumeration: 1,1,65535,srgb
0,0: (60990,7291,9289) #EE3E1C7B2449 srgb(93%,11%,14%)
ですから(60990,7291,9289)
vals=`convert xc:"cmyk(0,255,255,0)" \
-profile /Users/fred/images/profiles/USWebCoatedSWOP.icc \
-profile /Users/fred/images/profiles/sRGB.icc txt: |\
tail -n +2 | sed -n 's/^.*[(]\(.*\)[)][ ]*\#.*$/\1/p'`
red=`echo $vals | cut -d, -f1`
green=`echo $vals | cut -d, -f2`
blue=`echo $vals | cut -d, -f3`
red=`convert -precision 4 xc: -format "%[fx:100*$red/quantumrange]" info:`
green=`convert -precision 4 xc: -format "%[fx:100*$green/quantumrange]" info:`
blue=`convert -precision 4 xc: -format "%[fx:100*$blue/quantumrange]" info:`
color="srgb($red%,$green%,$blue%)"
echo "$color"
srgb(93.06%,11.13%,14.17%)
、すなわち、括弧内(IM Q16用)の16ビット値を解析する必要があります有効数字の桁数は-precisionを調整します。
注記:IM 7では、-precisionは機能します。
magick xc:"cmyk(0,255,255,0)" -profile /Users/fred/images/profiles/USWebCoatedSWOP.icc -profile /Users/fred/images/profiles/sRGB.icc -format "%[pixel:u.p{0,0}]\n" info:
srgb(93.0648%,11.1254%,14.1741%)
magick -precision 4 xc:"cmyk(0,255,255,0)" -profile /Users/fred/images/profiles/USWebCoatedSWOP.icc -profile /Users/fred/images/profiles/sRGB.icc -format "%[pixel:u.p{0,0}]\n" info:
srgb(93.06%,11.13%,14.17%)
magick -precision 2 xc:"cmyk(0,255,255,0)" -profile /Users/fred/images/profiles/USWebCoatedSWOP.icc -profile /Users/fred/images/profiles/sRGB.icc -format "%[pixel:u.p{0,0}]\n" info:
srgb(93%,11%,14%)
あなたはhttps://github.com/halostatue/colorを見ましたか? – msanford
@msanford私はやったと思いますが、使用例は見つかりませんでした。チュートリアル/ APIについて知っていますか? – sambecker
いいえ、テストをチェックして実装方法を確認できます。https://github.com/halostatue/color/blob/master/test/test_cmyk.rb – msanford