1

私は、技術に詳しくない一部のユーザーがシステムに写真をアップロードできるように、十分に優れた cms (機関車( github )) を使用しています。このプログラムは、写真を任意のサイズにリサイズおよびトリミングすることができます。

問題は、Internet Explorer が CMYK でエンコードされた画像を処理する方法を知らないことです。このアプリのユーザーは技術に精通しているわけではありません。画像を CMYK から RGB に変換するよう依頼することはできません。機関車が自動的に変更されるように変更したいと思います。私はこれを数時間試してきましたが、今のところうまくいきません。

これは私が見つけたものです:

  • Locomotive はトンボを使用してサイズ変更を実行します。
  • 具体的には、dragonfly のimagemagickモジュールを利用しています。
  • Dragonfly が機関車でどのように使用されるかを定義するファイルは、ここにあります。
  • トンボ初期化ファイルもあります。

-colorspace RGBまた、Dragonfly によって Imagemagick に送信されるパラメーターにオプションを追加する必要がある (と思う) こともわかりました。Dragonfly がそれを行うための簡単なオプションを提供しているようには見えません。

私はいくつかのことを試しました.最後のものは、オプションが常に使用されるように、Dragonfly の Imagemagick Processorにモンキーパッチを適用することで構成されていました。-colorspace RGBこれを機関車に追加しましたconfig/initializers/dragonfly.rb

# locomotive's config/initializers/dragonfly.rb

# ... Locomotive's default initialization

module Dragonfly
  module ImageMagick
    class Processor
      alias :old_convert :convert
      def convert(temp_object, args='', format=nil)
        args += ' -colorspace RGB' # force RGB in all thumbnails 
        old_convert(temp_object, args, format)
      end
    end
  end
end

私はこれがうまくいくはずだと確信していましたが、残念ながらそうではありません。そして、私はアイデアを使い果たしました。誰でも助けることができますか?

4

3 に答える 3

1

コマンドラインでは、-type truecolor色空間の変換が確実に機能するように、次のように追加する必要がある場合があります。

convert cmyk.jpeg -colorspace rgb -type truecolor rgb.jpeg

多分あなたもそれをあなたのコードに追加しようとしていますか?

于 2012-07-14T07:53:51.820 に答える
0

右側の関連リストから、この SO の回答は役に立ちますか?

RMagick で CMYK 画像を RGB に適切に変換する

于 2012-02-29T13:46:24.667 に答える
0

残念ながら、Dragonfly でこれを行う簡単な方法はないようです。私は断念しました。

于 2012-07-13T20:59:00.407 に答える