想要使用RMagick创建一个从rgba(0,0,0,0.3)到rgba(0,0,0,0.7)的渐变的PNG图像。这可能吗?
答案 0 :(得分:1)
我想它无法完成。如果您查看here中的c代码,您会看到不透明度自动设置为OpaqueOpacity。此外,如果你看看如何实现填充,他们只会写图像。
另一方面,它可以在较低的水平上完成。如果不透明度始终相同,则可以使用ImageList然后将其展平。
答案 1 :(得分:1)
有一种方法可以使用RM从RMagick中生成透明渐变图像
Gradient Built-in Format和
Image.read()
:
require 'RMagick'
img = Magick::Image.read("gradient:rgba(0,0,0,0.3)-rgba(0,0,0,0.7)") do
self.size = "100x100"
end
img.first.write("out.png")
这与在命令行中运行以下内容相同:
$ convert -size 100x100 'gradient:rgba(0,0,0,0.3)-rgba(0,0,0,0.7)' out.png