我正在使用一个足够好的cms(机车(github)),以允许一些非技术savy用户上传图片到系统。该程序能够调整大小和裁剪图片到任何给定的大小.

麻烦的是,Internet explorer不知道如何处理CMYK编码的图像。这个应用程序的用户并不完全是技术savy;要求他们将图像从CMYK转换为RGB不是一种选择。我想修改机车,以便它自动进行更改。我已经尝试了几个小时,但到目前为止没有运气。

这就是我发现的:

  • 机车用途 蜻蜓侠 来执行所述调整大小。
  • 具体地说,它使用蜻蜓的 [医]意象 模块。
  • 可以找到定义如何在locomotive中使用Dragonfly的文件 这里.
  • 还有一只蜻蜓 初始化器文件.

我还发现我需要的是添加一个 -colorspace RGB Dragonfly发送给Imagemagick的参数的选项。它看起来不像Dragonfly提供了一个简单的选择来做到这一点。

我已经尝试了几件事,最后一件由monkeypatching组成 蜻蜓的Imagemagick处理器 使 -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

我很确定这应该有效,但不幸的是它没有。我的想法已经用完了。有人能帮忙吗?

有帮助吗?

解决方案 3

不幸的是,似乎没有一个简单的方法来做到这一点与蜻蜓。我已经放弃了。

其他提示

在命令行上,我有时需要添加 -type truecolor 使色彩空间转换可靠地工作:

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

也许你也尝试在你的代码中添加它?

从右侧的相关列表中,this SO可能会提供帮助吗?

使用RMagick将CMYK图像正确转换为RGB

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top