Как я могу сделать прозрачный градиент с помощью RMagick? - PullRequest
0 голосов
/ 01 июня 2010

Хотите использовать RMagick для создания PNG-изображения градиента, который идет от rgba (0,0,0,0.3) до rgba (0,0,0,0.7). Возможно ли это?

Ответы [ 2 ]

1 голос
/ 22 сентября 2014

Существует способ создать прозрачное изображение градиента изнутри 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
1 голос
/ 01 июня 2010

Полагаю, это невозможно. Если вы посмотрите на код c в здесь , вы увидите, что непрозрачность автоматически устанавливается на OpaqueOpacity. Кроме того, если вы посмотрите, как реализованы заливки, они только напишут изображение.

С другой стороны, это можно сделать на более низком уровне. Если непрозрачность всегда одинакова, вы можете использовать ImageList, а затем сгладить его.

...