Bookmark and Share
Check Google Page Rank Locations of visitors to this page
Click to get Free offers

Wednesday, April 23, 2008

Create Dynamic Image with PHP

Hi friend I have created a class to create the dynamic images from a string with many options from your calling page.
You need to include the class file [need a ttf file to be kept in the same folder as class. Also need to change the ttf file name in class to use.]
This image string are based on a true type fonts.

Class file :

/***
Creator : Dhiraj Patra

*/
class ClGenerateImage{

public $height;
public $width;
public $background_color;
public $text_color;
public $text;
public $text_s;
public $img;

function __construct($height="100",$width="200",$background_color=array(255,255,255),$text_color=array(0,0,0),$text="Test",$text_s=35){

//Create the image resource
$image = imagecreate($width, $height);

//We are making three colors, white, black and gray
$back = imagecolorallocate($image, $background_color[0], $background_color[1], $background_color[2]);
$front = imagecolorallocate($image, $text_color[0], $text_color[1], $text_color[2]);

//Make the background
imagefill($image, 0, 0, $back);

//$font = imageloadfont("Ariston-Wd.ttf");
ImageTTFText($image, $text_s,0,($width/50),($height/1.5),$front,"lib/arensk.ttf",$text);

//Add string in front to the image
//imagestring($image, $font, 30, 20, $text, $front);

/*
To create captcha style
//Throw in some lines to make it a little bit harder for any bots to break
ImageRectangle($image,0,0,$width-1,$height-1,$grey);
imageline($image, 0, $height/2, $width, $height/2, $grey);
imageline($image, $width/2, 0, $width/2, $height, $grey);
*/
//imagefilter($image,IMG_FILTER_EDGEDETECT);

//Tell the browser what kind of file is come in
header("Content-Type: image/png");

//Output the newly created image in png format
imagepng($image);

//Free up resources
imagedestroy($image);

}

function __destruct() {

}

}
?>


Calling file:-

include "lib/inc.php";

/*
$height = 100;
$width = 200;
$background_color = array(255,255,255);
$text_color = array(0,0,0);
$text = "Test";
*/

$img = new ClGenerateImage($height="68",$width="195",$background_color=array(255,255,255),$text_color=array(10,10,10),$text="Weddings",$text_s="28");

?>

If you feel any problem then comment here.
Regards.
View blog reactions

No comments: