2010-05-31 15 views

Répondre

1

Je suppose que cela ne peut pas être fait. Si vous jetez un oeil au code c dans here, vous verrez que l'opacité est automatiquement définie sur OpaqueOpacity. De plus, si vous regardez comment les remplissages sont implémentés, ils n'écrivent que l'image.

D'autre part, cela pourrait être fait à un niveau inférieur. Si l'opacité est toujours la même, vous pouvez utiliser une ImageList, puis l'aplatir.

1

Il existe un moyen pour générer une image de gradient transparent de l'intérieur RMagick en utilisant le Gradient Built-in Format et 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") 

Ceci est la même que celle qui suit dans la ligne de commande:

$ convert -size 100x100 'gradient:rgba(0,0,0,0.3)-rgba(0,0,0,0.7)' out.png