RE: [GD-DEVEL] Rendering Transparent Text?
[email protected] ("Colen Garoutte-Carson") Sat, 20 Dec 2008 06:08:07 -0800
| Newsgroups | php.gd.devel |
|---|---|
| Message-ID | <000301c962ac$63b96080$2b2c2180$@com> |
Hi Rob, If you disable alpha-blending, all drawing (including alpha) is applied directly without blending. That would let you 'cut out' text in a PNG. Though, it doesn't look like GD (freetype?) will handle the anti-aliasing in an 'ideal way'. To really handle this properly, GD would need 2 more blending modes. (#1 - Blend) (#2 - Don't Blend) #3 - Blend, w/alpha Increase/decrease existing alpha. i.e. alpha=100 drawn on alpha=0 would result in alpha=50. #4 - Blend only AA pixels, w/alpha This would allow direct application of alpha to the image, but allow proper anti-aliasing to occur by increasing/decreasing the alpha of AA pixels. Short of writing custom drawing primitives, you might try drawing solid text on a transparent background, then inversing the alpha of each pixel. That should preserve the AA. - Colen -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of SGreth Sent: Saturday, December 20, 2008 5:15 AM To: Pierre Joye Cc: [email protected] Subject: Re: [GD-DEVEL] Rendering Transparent Text? Hi Pierre, Unfortunately I wasn't trying to render text with a a transparent background but rather render text transparent. Take a black canvas, then render text on it, which would 'cut out' of the black canvas and thus be transparent. The end result being something that looked like a stencil. Thanks! ~Rob On Sat, Dec 20, 2008 at 2:42 AM, Pierre Joye <[email protected]> wrote: > hi! > > On Sat, Dec 20, 2008 at 4:35 AM, SGreth <[email protected]> wrote: > > Hello everybody, > > I've been scouring Google and I have yet to find anybody who's > answered > > the question if you can render transparent text with GD. Think of > creating a > > PNG "stencil" if you will. Take an image that's all black, and then "cut > > out" some text on it by rendering some transparent text. I've been trying > > all sorts of combinations with imagecolortransparent() to no avail. Any > > insight if I'm chasing a pipe-dream would be greatly appreciated. > > > See > http://cvs.php.net/viewvc.cgi/gd/playground/text_on_transparent_background/ > > It is in C but the PHP API is very closed :) > > > Cheers, > -- > Pierre > > http://blog.thepimp.net | http://www.libgd.org > > -- > GD Devel Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > >