2017-10-31 64 views
0

カラープロファイルとImageMagickConverting colors (not images) with ImageMagick)を使用して、CMYKの色をRGBの値に変換する方法を最後に考えました。ImageMagick CLIをMiniMagick gemに変換

は今、私はMiniMagickを使用してRailsアプリには、次のコマンドを組み込むのに苦労しています:

magick convert xc:"cmyk(255,0,0,0)" -profile USWebCoatedSWOP.icc -profile sRGB_IEC61966-2-1_black_scaled.icc -format "%[pixel:u.p{0,0}]\n" info: 

このような何かを返すべき:

srgb(0%,68.0964%,93.8003%) 

任意のアイデア?行を直接貼り付けてもうれしいですが、それでどうすればよいか分かりません。MiniMagick私はまた、これがHerokuプラットフォーム上でどのくらいうまく動作するのかよく分かりません。

ご協力いただければ幸いです。

+0

@ fmw42どのように私はImageMagick CLIコマンドを取って、私のRailsアプリケーションにそれを折りたたんでいる?トリッキーな部分を解決してくれてありがとう! – sambecker

+1

'@ sambecker'申し訳ありませんが、私はRails/Rubyを知らないです。しかし、最悪の場合、コマンドラインImageMagickを(PHP execやPythonからImageMagickへのサブプロセス呼び出しに似た)何らかのサブプロセス呼び出しで呼び出すことができるかもしれません。 http://rmagick.rubyforge.orgまたはhttps://rmagick.github.ioのRMagickも参照してください。 – fmw42

+0

私は、RMagickのルートディレクトリはhttps://github.com/rmagick/rmagickであると思います。 – fmw42

答えて

0

それを解決:トリックは、正確なプロファイルパスを見つけるた

c = MiniMagick::Tool::Convert.new 
c.xc("cmyk(255,0,0,0)") 
c.profile(File.open("lib/assets/USWebCoatedSWOP.icc").path) 
c.profile(File.open("lib/assets/sRGB_IEC61966-2-1_black_scaled.icc").path) 
c.format("%[pixel:u.p{0,0}]\n", "info:") 
c.call 

formatメソッドの別の第2引数として "info:"を入力します。

+1

よろしくお願いします。あなたがそれを解決したと聞いてうれしい。 – fmw42

0

私はRMagickを知らないが、単にドキュメントの見直しから、あなたがで同等のコマンドを見ることができます:

https://github.com/rmagick/rmagick (rmagick installation 
https://rmagick.github.io (documentation) 
https://rmagick.github.io/usage.html#reading (creating image from color) 
https://rmagick.github.io/image1.html#add_profile (add profile) 
https://rmagick.github.io/image3.html#pixel_color (getting color at coordinate) 
+0

意味があります。私は上記のMiniMagickを使用していて、かなり近づくようです。なぜ私のエラーがフォーマットメソッドから生まれているようだと思う? CLIの行は元の意図にかなり忠実なようです。 – sambecker

+0

私は以前にMiniMagickを使用していません。だから私はあなたに何を伝えるべきか分からない。しかし、正確なエラーメッセージは何でしたか? Minimagickは色の値を報告するために-formatが行うことを行う別の方法を使用する可能性があります。また、出力をtxt:formatとして構文解析してカラー値を取得することもできます。また、あなたの 'c.format("%[pixel:u.p {0,0}] \ n "、" info: ")'に対してパラメータを正しく指定していないかもしれません。 c.formatはpngからjpgなどのイメージフォーマットを変更するのではなく、レポートの色を変更するのですか? https://stackoverflow.com/questions/8894194/retrieving-the-hex-code-of-the-color-of-a-given-pixel – fmw42

+0

解決済み!上記の答えを確認してください。私が修正する必要があった2つのことがありました。 ICCはフォーマット引数を処理し、分離します。ご協力ありがとうございました! – sambecker

関連する問題