0

想要使用 RMagick 创建从 rgba(0,0,0,0.3) 到 rgba(0,0,0,0.7) 的渐变的 PNG 图像。这可能吗?

4

2 回答 2

1

我想这是做不到的。如果您查看此处的 c 代码,您将看到不透明度自动设置为不透明。此外,如果您看一下填充是如何实现的,它们只会写入图像。

另一方面,它可以在较低的水平上完成。如果不透明度始终相同,则可以使用 ImageList 然后将其展平。

于 2010-05-31T22:15:16.317 回答
1

有一种方法可以通过使用渐变内置格式和 从 RMagick 中生成透明渐变图像 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
于 2014-09-22T01:55:34.703 回答