RMagickを使用して、rgba(0,0,0,0.3)からrgba(0,0,0,0.7)へのグラデーションのPNG画像を作成したいとします。これは可能ですか?
2 に答える
1
Gradient Built-in Formatと
を使用して、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 に答える
1
それはできないと思います。ここの C コードを見ると、不透明度が自動的に OpaqueOpacity に設定されていることがわかります。さらに、塗りつぶしがどのように実装されているかを見ると、それらは画像を書き込むだけです。
一方、それはより低いレベルで行うことができます。不透明度が常に同じである場合は、ImageList を使用して平坦化できます。
于 2010-05-31T22:15:16.317 に答える