1

我使用了足夠好的cms(locomotivegithub)),允許一些非技術人員上傳圖片到系統。該程序能夠調整大小和裁剪圖片到任何給定的大小。紅寶石 - 蜻蜓 - 在做縮略圖時強制CMYK轉換爲RGB

問題是,Internet Explorer不知道如何處理CMYK編碼的圖像。這個應用程序的用戶不完全是技術上的;要求他們將圖像從CMYK轉換爲RGB不是一種選擇。我想修改機車,使其自動進行更改。我一直在嘗試這幾個小時,但迄今沒有運氣。

這是我發現:

  • 機車使用dragonfly進行大小調整。
  • 具體來說,它使用蜻蜓的imagemagick模塊。
  • 定義如何在機車中使用蜻蜓的文件可以在here找到。
  • 還有一個蜻蜓initializer file

我還發現,我需要的是,爲Dragonfly發送給Imagemagick的參數添加一個-colorspace RGB選項。它看起來不像蜻蜓提供了一個簡單的選擇來做到這一點。

我已經嘗試了幾件事,最後一個包含monkeypatching Dragonfly's 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 

我敢肯定這應該工作,但遺憾的是它沒有。我已經用完了想法。誰能幫忙?

回答

0

遺憾的是,似乎沒有要與蜻蜓做到這一點的簡單方法。我已經放棄了。

1

在命令行,我有時需要添加-type truecolor,使色彩空間轉換的可靠工作:

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

也許你試着將它添加在你的代碼呢?

+0

感謝您花時間回答。我不能在這個特別的功能上花費更多的時間;我用它編寫了代碼,所以我不再需要它了。我在我的主要問題上在命令行上獲取參數時遇到了問題,因此我認爲它無法正常工作,但我恐怕不會嘗試您的解決方案。無論如何,+1都有幫助。 – kikito 2012-07-14 10:31:26