[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

transparent text with rmagick?

d c

1/27/2007 6:13:00 PM

hi -

(this maybe more an imagemagick q that a ruby one, but here goes ..)

using rmagick / I have a small script for generating some type, but I
cannot get the type to come out as transparent png - it comes out just
on solid white .

does this have to be done with masks and compositing? there are a
number of methods that look like they should work (transparent_color
etc), but dont seem to...

is the library broken or am i doing something wrong?

tx,

/dc

---------
require 'rubygems'
require "RMagick"
include Magick

outfile = "output/matte.png"

drawObj = Magick::Draw.new
drawObj.font = './fonts/Ghoul.ttf'
drawObj.pointsize=30
drawObj.fill = '#44ff00'

buffer = Magick::Image.new(250,100)
drawObj.text(20,50, "hello world")
drawObj.matte(3,3,PaintMethod::ReplaceMethod)
drawObj.draw(buffer)
buffer.opacity = 1
buffer.transparent_color = '#000000'
buffer.matte = true
buffer.write(outfile)

system("open #{outfile}")



--
-------------------------------------------
David "DC" Collier
mailto:dc@pikkle.com
+81 (0)80 6521 9559
skype: callto://d3ntaku
-------------------------------------------
Pikkle ????
http://www....
-------------------------------------------

1 Answer

Tim Hunter

1/27/2007 8:36:00 PM

0

dc wrote:
> hi -
>
> (this maybe more an imagemagick q that a ruby one, but here goes ..)
>
> using rmagick / I have a small script for generating some type, but I
> cannot get the type to come out as transparent png - it comes out just
> on solid white .
>
> does this have to be done with masks and compositing? there are a
> number of methods that look like they should work (transparent_color
> etc), but dont seem to...
>
> is the library broken or am i doing something wrong?
>
> tx,
>
> /dc
Set the background color to "none" when you create the image:

buffer = Magick::Image.new(250, 250) {self.background_color = 'none'}