Smart anti-aliasing

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi:

I know how to create a watermark by simply imposing one image on another via imagecopy() or imagecopymerge().

However, is there a way to place a watermark on a image such that the watermark is actually anti-aliased against the background of the base image?

For example, please review:

http://xn--ovg.com/watermark2

The centered watermark is clearly problematic because it was originally generated with anti-aliasing ON over a white background -- and thus white pixels are shown mixed throughout.

I could turn off the original anti-aliasing in generating the original watermark, but then I get a jagged watermark that looks just about as bad.

So, what I am asking is there a way to place text on an existing image such that the anti-aliasing adjust (i.e., smart) to the background of the image?

One of the possible solutions I was thinking was to create an image and then draw text on top of it, via something like this:

<?php
	Header ("Content-type: image/gif");
	$im = imagecreate (150, 150);
	$background = ImageColorAllocate ($im, 238, 238, 238);
	$text_color = ImageColorAllocate ($im, 00, 51, 102);
ImageTTFText ($im, 20, 45, 30, 130, $text_color, "arial.ttf","copyright 2006");
	ImageGif ($im);
	ImageDestroy ($im);
?>

But, it's not an image that's imported and the background in only one color. So, is there a way to load an image and then draw smart anti-aliased text on top of it?

Many thanks to all who reply.

tedd

--
--------------------------------------------------------------------------------
http://sperling.com/

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux