Image resize and watermark
Categories: PHP on Dec.10, 2008
Parameters are passed via URL: image.php?image=1.jpg;
You can set the type of your output image to JPG, GIF or PNG format like this: image.php?image=1.jpg&type=png; If you don’t specify the type of the output image, the script will output the image in the original format image.php?image=1.jpg;
To add a watermark to image you heave to set 2 variables: watermark_text and watermark_color(optional).Black will be use if you do not set the watermark_color;
Example:
1) image.php?image=1.jpg&watermark_text=1234567890&watermark_color=fffff;
2) image.php?image=1.jpg&watermark_text=1234567890;
Resizing images:
a. Exact size:
Variables: w and h
Example: image.php?image=1.jpg&w=100&h=100
b. Maxim size:
Variable: maxim_size
Example: image.php?image=1.jpg&maxim_size=300
c. Percent:
Variable: percent
Example: image.php?image=1.jpg&percent=50
d. Square:
Variable: square
Example: image.php?image=1.jpg&square=100
I use this type of resizing for creating thumbnails that heave the same size
It for study…
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 | <? if($_GET['image']){ $image = $_GET['image']; if($_GET['type']=="jpg"){ header("Content-type: image/jpeg"); }elseif($_GET['type']=="gif"){ header("Content-type: image/gif"); }elseif($_GET['type']=="png"){ header("Content-type: image/png"); }else{ if(substr($image, -3)=="jpg" || substr($image, -3)=="JPG"){ header("Content-type: image/jpeg"); } elseif(substr($image, -3)=="gif" || substr($image, -3)=="GIF"){header("Content-type: image/gif");} elseif(substr($image, -3)=="png" || substr($image, -3)=="PNG"){header("Content-type: image/png");} } if(substr($image, -3)=="jpg" || substr($image, -3)=="JPG"){$im = imagecreatefromjpeg($image);} elseif(substr($image, -3)=="gif" || substr($image, -3)=="GIF"){$im = imagecreatefromgif($image);} elseif(substr($image, -3)=="png" || substr($image, -3)=="PNG"){$im = imagecreatefrompng($image);} if($_GET['percent']){ $x = round((imagesx($im)*$_GET['percent'])/100); $y = round((imagesy($im)*$_GET['percent'])/100); $yyy=0; $xxx=0; $imw = imagecreatetruecolor($x,$y); }elseif($_GET['w'] and $_GET['h']){ $x = $_GET['w']; $y = $_GET['h']; $yyy=0; $xxx=0; $imw = imagecreatetruecolor($x,$y); }elseif($_GET['maxim_size']){ if(imagesy($im)>=$_GET['maxim_size'] || imagesx($im)>=$_GET['maxim_size']){ if(imagesy($im)>=imagesx($im)){ $y = $_GET['maxim_size']; $x = ($y*imagesx($im))/imagesy($im); }else{ $x = $_GET['maxim_size']; $y = ($x*imagesy($im))/imagesx($im); } }else{ $x = imagesx($im); $y = imagesy($im); } $yyy=0; $xxx=0; $imw = imagecreatetruecolor($x,$y); }elseif($_GET['square']){ if(imagesy($im)>=$_GET['square'] || imagesx($im)>=$_GET['square']){ if(imagesy($im)>=imagesx($im)){ $x = $_GET['square']; $y = ($x*imagesy($im))/imagesx($im); $yyy=-($y-$x)/2; $xxx=0; }else{ $y = $_GET['square']; $x = ($y*imagesx($im))/imagesy($im); $xxx=-($x-$y)/2; $yyy=0; } }else{ $x = imagesx($im); $y = imagesy($im); $yyy=0; $xxx=0; } $imw = imagecreatetruecolor($_GET['square'],$_GET['square']); }else{ $x = imagesx($im); $y = imagesy($im); $yyy=0; $xxx=0; $imw = imagecreatetruecolor($x,$y); } imagecopyresampled($imw, $im, $xxx,$yyy,0,0,$x,$y,imagesx($im), imagesy($im)); if($_GET['watermark_text']){ if($_GET['watermark_color']){$watermark_color=$_GET['watermark_color']; }else{ $watermark_color="000000"; } $red=hexdec(substr($watermark_color,0,2)); $green=hexdec(substr($watermark_color,2,2)); $blue=hexdec(substr($watermark_color,4,2)); $text_col = imagecolorallocate($imw, $red,$green,$blue); $font = "georgia.ttf"; //this font(georgia.ttf) heave to be in the same directory as this script $font_size = 12; $angle = 0; $box = imagettfbbox($font_size, $angle, $font, $_GET['watermark_text']); $x = 5; $y = 17; imagettftext($imw, $font_size, $angle, $x, $y, $text_col, $font, $_GET['watermark_text']); } if($_GET['type']=="jpg"){imagejpeg($imw);} elseif($_GET['type']=="gif"){imagegif($imw);} elseif($_GET['type']=="png"){imagepng($imw);} else{ if(substr($image, -3)=="jpg" || substr($image, -3)=="JPG"){imagejpeg($imw);} elseif(substr($image, -3)=="gif" || substr($image, -3)=="GIF"){imagegif($imw);} elseif(substr($image, -3)=="png" || substr($image, -3)=="PNG"){imagepng($imw);} } imagedestroy($imw); } ?> |
it for work
resize-class
Similar posts:
December 17th, 2008 on 4:02 pm
Hi. Thanks for article. Don’t know write to English or Russian:-)
If you need to create XML, HTML sitemap files for your sites or to notify search engines about updated sitemap files use “Sitemap Writer Pro”. I tried different software for creating the sitemap for my website. This is the most effective one among 5-6 programs I tried.
This powerful webtool generates the sitemap for your website in just seconds. Mayor search engines (Google, Yahoo, Ask, MSN, Moreover) are able to index and read your sitemaps without any problems.