In this post we use two functions such as watermark_text() and watermark_image() to generate text and images watermarks on images. Integrate this to your web project upload image system dynamic text and produce flyer image.
$font_path = "GeosansLight.ttf"; $font_bold = "Typo Grotesk Demo.otf"; $font_size = 20; // in pixcels $fly_name="Hi, I am ".$_SESSION['name']; $looking="Looking for"; $accom= $_POST['accomodation']. " | " .$_POST['furnished']; $location_f = $_POST['location'].", ".$cityname; $rent_f = "Rent Rs ".$_POST['rent']; $tenant_type_f=$_POST['tenant_type']; function watermark_image($oldimage_name, $new_image_name){ global $image_path; list($owidth,$oheight) = getimagesize($oldimage_name); $width = 200; $height = 300; $im = imagecreatetruecolor($width, $height); $img_src = imagecreatefromjpeg($oldimage_name); imagecopyresampled($im, $img_src, 0, 0, 0, 0, $width, $height, $owidth, $oheight); $watermark = imagecreatefrompng($image_path); list($w_width, $w_height) = getimagesize($image_path); pos_x = $width - $w_width; $pos_y = $height - $w_height; imagecopy($im, $watermark, $pos_x, $pos_y, 0, 0, $w_width, $w_height); imagejpeg($im, $new_image_name, 100); imagedestroy($im); return true; } function watermark_text($oldimage_name, $new_image_name){ global $font_path,$font_bold, $font_size, $location_f,$fly_name,$looking, $tenant_type_f,$accom,$rent_f; list($owidth,$oheight) = getimagesize($oldimage_name); $width = 2300; $height = 300; $image = imagecreatetruecolor($width, $height); $image_src = imagecreatefromjpeg($oldimage_name); imagecopyresampled($image, $image_src, 0, 0, 0, 0, $width, $height, $owidth, $oheight); $white = imagecolorallocate($image, 255, 255, 255); $black = imagecolorallocate($image, 0, 0, 0); $yellow = imagecolorallocate($image, 255, 240, 125); imagettftext($image, 18, 0, 10, 40, $white, $font_bold, $location_f); imagettftext($image, 18, 0, 30, 90, $black, $font_path, $fly_name); imagettftext($image, 22, 0, 50, 130,$black, $font_path, $looking); imagettftext($image, 28, 0, 50, 175, $white, $font_bold, $tenant_type_f); imagettftext($image, 14, 0, 50, 210, $black, $font_path, $accom); imagettftext($image, 22, 0, 50, 250, $yellow, $font_bold, $rent_f); imagejpeg($image, $new_image_name, 100); imagedestroy($image); return true; } $demo_image= "";
imagettftext — GD library image function used to Write text to the image using TrueType fonts.
imagecolorallocate — Allocate a color for an image.It takes four arguments, Image and RGB color format.
Image formation
$oldimg = "images/flyer_rent.jpg"; $new_name = "uploads/images/flyer_rent_".$_REQUEST[busiid].".jpg"; if(watermark_text($oldimg, $new_name)) $demo_image = $new_name; echo <img src="'.$demo_image.'" />;
Out Put