Re: Creating watermarks
| From: | tedd | Date: | Sat, 04 Aug 2007 17:10:37 +0000 |
| Subject: | Re: Creating watermarks | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-260187@lists.php.net to get a copy of this message | ||
At 11:32 AM -0400 8/4/07, Tom Ray [Lists] wrote:
I've been learning how to use PHP with the GD Library and I've managed to learn quite a bit. I can upload, resize, create thumbnails and I'm even able to create "security code" images for forms. My question is how do I create a Watermark on the image? I want something transparent but still visible enough to see the copyright and the website. I want to put it in the center of the image. I would use a non-water marked image and when it's called on (depending on viewing size) I want the water mark to be added. How would one go about doing that?Tom: I just combine images -- it's simple. Here's an example: http://www.webbytedd.com/b/watermark/ Refresh and the watermark position will move. Here's the code (refreshing will shift the watermark around): <?php $place = "c"; $original=imagecreatefromjpeg("mydog.jpg"); $watermark=imagecreatefrompng("copyright.png"); $osx=imagesx($original); $osy=imagesy($original); $wsx=imagesx($watermark); $wsy=imagesy($watermark); $place = rand(1,5); switch ($place) { case 1: //"c": imagecopy($original, $watermark, ($osx-$wsx)/2, ($osy-$wsy)/2, 0, 0, $wsx, $wsy); //center works break; case 2: //"nw": imagecopy($original, $watermark,0, 0, 0, 0, $wsx, $wsy); // upper left works break; case 3: //"sw": imagecopy($original, $watermark, 0, ($osy-$wsy), 0, 0, $wsx, $wsy); // lower right works break; case 4: //"ne": imagecopy($original, $watermark, ($osx-$wsx), 0, 0, 0, $wsx, $wsy); // upper left works break; case 5: //"se": imagecopy($original, $watermark, ($osx-$wsx), ($osy-$wsy), 0, 0, $wsx, $wsy); // lower right works break; } imagepng($original, "trans.png"); ?> Cheers, tedd -- ------- http://sperling.com http://ancientstones.com http://earthstones.com