2013-06-05 67 views
0

我想用RMagick創建角度漸變。最終結果應該如下圖所示。我必須能夠定義顏色的位置。用RMagick創建角度漸變

enter image description here

根據this page of the ImageMagick documentation有可能用下面的命令。

convert -size 50x1000 gradient: -rotate 90 -alpha set \ 
      -virtual-pixel Transparent +distort Polar 49 +repage \ 
      -transverse gradient_angle_masked.png 

但是,我完全新的RMagick,並通過閱讀它的文檔我一直無法弄清楚如何將他們的命令轉換成在RMagick命令。

任何人都可以幫助我翻譯命令或指向正確的方向嗎?任何示例代碼將不勝感激。

回答

4

參考:

RMagick: Magick Command Options and Their Equivalent Methods

你可以找到的命令行參數的對應RMagick方法/屬性。您提供的命令可以轉換爲以下Ruby代碼。不過,要獲得您提供的圖片,您必須詳細瞭解更多

require 'RMagick' 

fill = Magick::GradientFill.new(0, 0, 0, 1000, '#FFF', '#000') 
image = Magick::Image.new(50, 1000, fill) 
image.rotate(90) 
image.alpha(Magick::SetAlphaChannel) 
image.virtual_pixel_method = Magick::TransparentVirtualPixelMethod 
image = image.distort(Magick::PolarDistortion, [0]) do 
    self.define('distort:Radius_Max', 49) 
end 
image.transpose 
image = image.crop(0, 475, 50, 50, true) 
image.write('test.png') 

有些你可能會感興趣:

希望有幫助。

+0

謝謝!這正是我需要的。我會看看你發佈的鏈接。我試圖讓它使用多種顏色。但是,這已成爲一個問題。我嘗試過使用帶有格式和稀疏顏色的'Image.read',但是,這並不奏效。我可能最終會爲此創建一個新問題。 – simonbs