使用RMagick创建角度渐变

时间:2013-06-05 12:53:54

标签: ruby imagemagick 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中的命令。

任何人都可以帮我翻译命令或指向正确的方向吗?任何示例代码都将非常感激。

1 个答案:

答案 0 :(得分: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')

您可能感兴趣的某些页面:

希望有所帮助。