1. Open an existing picture
<?php header("Content-type:image/jpeg"); $img=imagecreatefromjpeg("cc.jpg"); imagejpeg($img); imagedestroy($img); ?>
2. Get the relevant attributes of the image
<?php $img=imagecreatefromjpeg("cc.jpg"); $x=imagesx($img); $y=imagesy($img); echo "图片cc.jpg的宽为:<b>$x</b> pixels"; echo "<br/>"; echo "<br/>"; echo "图片cc.jpg的高为:<b>$y</b> pixels"; ?>
array getimagesize(string $filename [, array &imageinfo])
<?php $img_info=getimagesize("cc.jpg"); for($i=0;$i<4;++$i) { echo $img_info[$i]; echo "<br/>"; } ?>
1: Indicates that the image is in GIF format
2: Indicates that the image is in JPG format
3: Indicates that the image is in PNG format
4: Indicates that the image is in SWF format
5: Indicates that the image is in PSD format
6: Indicates that the image is in BMP format
<?php $pic_name="ee.png"; $pic_size=getimagesize($pic_name); ?> <img src="http://blog.csdn.net/u014761013/article/details/<?php echo $pic_name; ? alt="PHP single row from scratch (18) image processing_PHP tutorial" >"<?php echo $pic_size[3]; ?>>
·Get the width and height of the image to be watermarked
·Determine whether the image size meets the watermark text size
·Determine the position of the watermark effect in the image
·Set the color blending mode of the image
·Generate watermark effect
·Release resources
<?php function makeimagewatermark($image,$pos,$water_text,$font_size,$color) { $font_type="c://WINDOWS//Fonts//SIMYOU.TTF"; if(!empty($image)&& file_exists($image)) { $img_info=getimagesize($image); $g_w=$img_info[0]; $g_h=$img_info[1]; switch($img_info[2]) { case 1: $img=imagecreatefromgif($image); break; case 2: $img=imagecreatefromjpeg($image); break; case 3: $img=imagecreatefrompng($image); break; default: die("Format Wrong"); } } else { die("Not exists!"); } $temp=imagettfbbox(ceil($font_size*2.5),0,$font_type,$water_text); $w=$temp[2]-$temp[6]; $h=$temp[3]-$temp[7]; if(($g_w<$w) || ($g_h<$h)) { echo "Too small!"; return; } switch($pos) { case 0: $pos_x=rand(0,($g_w-$w)); $pos_y=rand(0,($g_h-$h)); break; case 1: $pos_x=0; $pos_y=0; break; case 2: $pos_x=($g_w-$w)/2; $pos_y=($g_h-$h)/2; break; case 3: $pos_x=$g_w-$w; $pos_y=$g_h-$h; break; default: $pos_x=rand(0,($g_w-$w)); $pos_y=rand(0,($g_h-$h)); break; } imagealphablending($img,true);//设置图像混色模式 if(!empty($color) && (strlen($color)==7)) { $R=hexdec(substr($color,1,2)); $G=hexdec(substr($color,3,2)); $B=hexdec(substr($color,5)); } else { die("Format wrong!"); } $text_color=imagecolorallocate($img,$R,$G,$B); imagettftext($img,$font_size,0,$pos_x,$pos_y,$text_color,$font_type,$water_text); switch($img_info[2]) { case 1 : imagegif($img,$image); break; case 2 : imagejpeg($img,$image); break; case 3: imagepng($img,$image); break; default: die("Formate unSupport!"); } imagedestroy($img); } if(isset($_FILES) && !empty($_FILES['userfile'])&& $_FILES['userfile']['size']>0) {$uploadfile="./".time()."_".$_FILES['userfile']['name']; if(copy($_FILES['userfile']['tmp_name'],$uploadfile)) { makeimagewatermark($uploadfile,2,"Photo by Mac",16,"#43042A"); echo "<img src=\"".$uploadfile."\" border=\"0\" alt="PHP single row from scratch (18) image processing_PHP tutorial" >"; } else { echo "uploadWrong!<br/>"; } } ?> <html> <head> <title> 19.9.php </title> </head> <body> </body> </html>
<?php header("Content-type:image/jpeg"); $img_name="cc.jpg"; $src_img=imagecreatefromjpeg($img_name); $ow=imagesx($src_img); $oh=imagesy($src_img); $nw=round($ow*200.0/$ow); $nh=round($oh*200.0/$oh); $desc_img=imagecreate($nw,$nh); imagecopyresized($desc_img,$src_img,0,0,0,0,$nw,$nh,$ow,$oh); imagejpeg($desc_img); imagedestroy($desc_img); imagedestroy($src_img); ?>
<?php header("Content-type:image/jpeg"); $img_name="cc.jpg"; $percent=0.2; $src_img=imagecreatefromjpeg($img_name); $ow=imagesx($src_img); $oh=imagesy($src_img); $nw=$ow*$percent; $nh=$oh*$percent; $desc_img=imagecreatetruecolor($nw,$nh); imagecopyresampled($desc_img,$src_img,0,0,0,0,$nw,$nh,$ow,$oh); imagejpeg($desc_img); imagedestroy($desc_img); imagedestroy($src_img); ?>