php教程

超轻量级php框架startmvc

php实现水印文字和缩略图的方法示例

更新时间:2020-03-17 09:05 作者:startmvc
本文实例讲述了php实现水印文字和缩略图的方法。分享给大家供大家参考,具体如下:<&#

本文实例讲述了php实现水印文字和缩略图的方法。分享给大家供大家参考,具体如下:


<?php
 $im = 'xiatian.jpg';
 $im2 = 'winter3.jpg';
 $img = getImage($im);
 $bimg = getImage($im2);
 //$image = getimagesize($im);
 //print_r($image);
 //Array ( [0] => 150 width
 /*[1] => 150 height
 [2] => 3 图片类型
 [3] => width="150" height="150"
 [bits] => 8
 [mime] => image/png )*/
 //图片复制组合------$bimg----
 imagecopy($bimg, $img, 300, 4, 0, 0, getWidth($im),getHeight($im));
 //加水印文字
 $color = imagecolorallocate($bimg,255, 255, 0);
 $str = "中国";
 $str = mb_convert_encoding($str, "html-entities","utf-8");
 imagettftext($bimg, 42, 0, rand(20,getWidth($im2)-100), rand(40,getHeight($im2)), $color, 'MSYH.TTF', $str);
 //剪切,重新生成缩略图
 $new = imagecreatetruecolor(50, 50);
 imagecopyresized($new, $bimg, 0, 0, 0, 0, 50, 50, getWidth($im2), getHeight($im2));
 //输出到浏览器
 header("Content-Type: image/jpeg");
 //如果为png图片也可正常显示,浏览器负责正确解析
 imagejpeg($new);
 //生成大图,小图
 imagejpeg($new,'small.jpg');
 imagejpeg($bimg,'big.jpg');
 function getImage($img_file) {
 $image = getimagesize($img_file);
 //判断是那种图片类型
 switch($image[2]) {
 case 1:
 $img = @imagecreatefromgif($img_file);
 break;
 case 2:
 $img = @imagecreatefromjpeg($img_file);
 break;
 case 3:
 $img = @imagecreatefrompng($img_file);
 break;
 }
 return $img;
 }
 function getWidth($img_file) {
 $image = getimagesize($img_file);
 return $image[0];
 }
 function getHeight($img_file) {
 $image = getimagesize($img_file);
 return $image[1];
 }
?>