我正在使用足够好的 cms(机车(github))来允许一些非技术精明的用户将图片上传到系统。该程序能够将图片调整大小并将其裁剪为任何给定大小。
麻烦的是,Internet Explorer 不知道如何处理 CMYK 编码的图像。这个应用程序的用户并不完全精通技术;要求他们将图像从 CMYK 转换为 RGB 不是一种选择。我想修改机车,使其自动进行更改。我已经尝试了几个小时,但到目前为止还没有运气。
这是我发现的:
- 机车使用蜻蜓来执行大小调整。
- 具体来说,它使用了蜻蜓的imagemagick模块。
- 定义 Dragonfly 如何在机车中使用的文件可以在这里找到。
- 还有一个蜻蜓初始化文件。
我还发现(认为)我需要的是为-colorspace RGB
Dragonfly 发送给 Imagemagick 的参数添加一个选项。看起来 Dragonfly 并没有提供一个简单的选项来做到这一点。
我已经尝试了几件事,最后一个是猴子补丁Dragonfly 的 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
我很确定这应该有效,但不幸的是它没有。我已经没有想法了。任何人都可以帮忙吗?