ruby-Dragonfly-在制作缩略图时强制CMYK到RGB转换

ruby-Dragonfly-在制作缩略图时强制CMYK到RGB转换,ruby,internet-explorer,imagemagick,dragonfly-gem,locomotivecms,Ruby,Internet Explorer,Imagemagick,Dragonfly Gem,Locomotivecms,我正在使用一个足够好的cms(()),允许一些不懂技术的用户将图片上传到系统中。该程序能够调整图片大小并将其裁剪到任何给定大小 问题是,Internet explorer不知道如何处理CMYK编码的图像。该应用程序的用户并不完全精通技术;要求他们将图像从CMYK转换为RGB不是一个选项。我想修改机车,使其自动进行更改。我已经试了几个小时了,但到目前为止运气不好 这就是我发现的: 机车用于执行大小调整 具体来说,它使用蜻蜓的模块 可以找到定义蜻蜓如何在机车中使用的文件 还有一只蜻蜓 我还发现(

我正在使用一个足够好的cms(()),允许一些不懂技术的用户将图片上传到系统中。该程序能够调整图片大小并将其裁剪到任何给定大小

问题是,Internet explorer不知道如何处理CMYK编码的图像。该应用程序的用户并不完全精通技术;要求他们将图像从CMYK转换为RGB不是一个选项。我想修改机车,使其自动进行更改。我已经试了几个小时了,但到目前为止运气不好

这就是我发现的:

  • 机车用于执行大小调整
  • 具体来说,它使用蜻蜓的模块
  • 可以找到定义蜻蜓如何在机车中使用的文件
  • 还有一只蜻蜓
我还发现(思考)我需要的是在Dragonfly发送给Imagemagick的参数中添加一个
-colorspace RGB
选项。看起来蜻蜓并不是一个简单的选择

我已经尝试了几种方法,最后一种是monkeypatching,因此总是使用
-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

我很确定这应该行得通,但不幸的是不行。我已经没有主意了。有人能帮忙吗?

在右边的相关列表中,这是否能帮上忙


从右侧的相关列表中,这是否有帮助


不幸的是,似乎没有一种简单的方法可以让蜻蜓做到这一点。我已经放弃了。

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

在命令行上,我有时需要添加
-键入truecolor
,以使颜色空间转换工作可靠:

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

也许您也尝试将其添加到代码中?

在命令行上,我有时需要添加
-键入truecolor
,以使颜色空间转换工作可靠:

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

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

不幸的是,没有。这个问题没有使用本机ImageMagick接口;相反,它依赖于RMagick。恐怕我不能把整个机车改成使用RMagick。不幸的是,不行。这个问题没有使用本机ImageMagick接口;相反,它依赖于RMagick。恐怕我不能把整个机车换成RMagick。谢谢你花时间回答。我不能花更多的时间在这个特殊的功能上;我已经把它编码好了,所以我不再需要它了。在我的主要问题上,我很难在命令行上获得params,因此我认为它无论如何都不会起作用,但我恐怕不会尝试您的解决方案。无论如何,+1表示感谢。感谢您抽出时间回答。我不能花更多的时间在这个特殊的功能上;我已经把它编码好了,所以我不再需要它了。在我的主要问题上,我很难在命令行上获得params,因此我认为它无论如何都不会起作用,但我恐怕不会尝试您的解决方案。在任何情况下,+1表示有帮助。