
文本水印
我们使用函数watermark_text()来生成文本水印,你必须先指定字体源文件、字体大小和字体文本,具体代码如下:
| 1 | $font_path= "GILSANUB.TTF";  | 
| 3 | $water_mark_text_2= "phpfuns";  | 
| 5 | functionwatermark_text($oldimage_name, $new_image_name) | 
| 7 | global$font_path, $font_size, $water_mark_text_2; | 
| 8 | list($owidth,$oheight) = getimagesize($oldimage_name); | 
| 10 | $image= imagecreatetruecolor($width, $height); | 
| 11 | $image_src= imagecreatefromjpeg($oldimage_name); | 
| 12 | imagecopyresampled($image, $image_src, 0, 0, 0, 0, $width, $height, $owidth, $oheight); | 
| 13 | $blue= imagecolorallocate($image, 79, 166, 185); | 
| 14 | imagettftext($image, $font_size, 0, 68, 190, $blue, $font_path, $water_mark_text_2); | 
| 15 | imagejpeg($image, $new_image_name, 100); | 
| 17 | unlink($oldimage_name); | 
图片水印
我们使用函数watermark_image()来生成图片水印,你必须先水银图片的源文件。具体代码如下:
| 1 | $image_path= "phpfuns.png"; | 
| 3 | functionwatermark_image($oldimage_name, $new_image_name) | 
| 6 | list($owidth,$oheight) = getimagesize($oldimage_name); | 
| 8 | $im= imagecreatetruecolor($width, $height); | 
| 9 | $img_src= imagecreatefromjpeg($oldimage_name); | 
| 10 | imagecopyresampled($im, $img_src, 0, 0, 0, 0, $width, $height, $owidth, $oheight); | 
| 11 | $watermark= imagecreatefrompng($image_path); | 
| 12 | list($w_width, $w_height) = getimagesize($image_path); | 
| 13 | $pos_x= $width- $w_width; | 
| 14 | $pos_y= $height- $w_height; | 
| 15 | imagecopy($im, $watermark, $pos_x, $pos_y, 0, 0, $w_width, $w_height); | 
| 16 | imagejpeg($im, $new_image_name, 100); | 
| 18 | unlink($oldimage_name); | 
上传图片表单
我们使用下面的表单来上传图片:
| 3 | if(isset($_POST['createmark']) and$_POST['createmark'] == "Submit") | 
| 6 | $valid_formats= array("jpg", "bmp","jpeg"); | 
| 7 | $name= $_FILES['imgfile']['name']; | 
| 10 | list($txt, $ext) = explode(".", $name); | 
| 11 | if(in_array($ext,$valid_formats) && $_FILES['imgfile']['size'] <= 256*1024) | 
| 13 | $upload_status= move_uploaded_file($_FILES['imgfile']['tmp_name'], $path.$_FILES['imgfile']['name']); | 
| 15 | $new_name= $path.time().".jpg"; | 
| 16 | // Here you have to user functins watermark_text or watermark_image | 
| 17 | if(watermark_text($path.$_FILES['imgfile']['name'], $new_name)) | 
| 18 | $demo_image= $new_name; | 
| 22 | $msg="File size Max 256 KB or Invalid file format."; | 
| 27 | <form name="imageUpload"method="post"enctype="multipart/form-data"> | 
| 29 | Image :<input type="file"name="imgfile"/>
 | 
| 30 | <input type="submit"name="createmark"value="Submit"/> | 
| 32 | if(!empty($demo_image)) | 
| 33 | echo' '; | 
实际上就是PHP的gd库,一切就是这么简单!