PHPBuilder - Advanced Image Editing Under the GD Library Page 4



RSS Twitter
Articles Php Functions

Advanced Image Editing Under the GD Library - Page 4

by: Brandon "Mordecai" Cash
|
May 26, 2003

Translucent Text

Translucent text is not as simple as outlining or shadowing, but it's not particularly hard. A translucent image is just something partially invisible, or clear. This is done by drawing the image onto a buffer, editing the buffer, and then merging the buffer back onto the original image.

<?php
function imagettftexttransparent(&$im,$size,$angle,$x,$y,&$col,$fontfile,$text,$pct) {
    
$im_w imagesx($im); // Get the image width
    
$im_h imagesy($im); // Get the image height
    
$new imagecreate($im_w,$im_h); // Create a buffer
    
imagesetpixel($im,$im_w-1,0,$col); // Set a pixel down, so we can easily get the color
    
$index imagecolorat($im,$im_w-1,0); // Get the color at that pixel
    
$rgb imagecolorsforindex($im,$index); // Get the index of that color
    
$r $rgb["red"]; // Get the red value
    
$g $rgb["green"]; // Get the green value
    
$b $rgb["blue"]; // Get the blue value
    
$color imagecolorallocate($new,$r,$g,$b); // Allocate this color on the buffer
    
$copy imagecopy($new,$im,0,0,0,0,$im_w,$im_h); // Copy the old image onto the buffer
    
$text imagettftext($new,$size,$angle,$x,$y,$color,$fontfile,$text); // Draw the text
    
$merge imagecopymerge($im,$new,0,0,0,0,$im_w,$im_h,$pct); // Copy the buffer back onto the original image
    
imagedestroy($new); // Destroy the buffer
}
?>
Anything that was on the image before stays where it was, untouched. The only difference is that text appears over the image now. This example places text over a metallic panel:
metallic panel with text

« Previous Page
1
|
2
|
3
|
4
|
5
Next Page »

Comment and Contribute

Your comment has been submitted and is pending approval.

Author:
Brandon "Mordecai" Cash

Comment:



Comment:

(Maximum characters: 1200). You have characters left.