php实现水印文字和缩略图的方法示例
本文实例讲述了php实现水印文字和缩略图的方法。分享给大家供大家参考,具体如下:
<?php
$im='xiatian.jpg';
$im2='winter3.jpg';
$img=getImage($im);
$bimg=getImage($im2);
//$image=getimagesize($im);
//print_r($image);
//Array([0]=>150width
/*[1]=>150height
[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');
functiongetImage($img_file){
$image=getimagesize($img_file);
//判断是那种图片类型
switch($image[2]){
case1:
$img=@imagecreatefromgif($img_file);
break;
case2:
$img=@imagecreatefromjpeg($img_file);
break;
case3:
$img=@imagecreatefrompng($img_file);
break;
}
return$img;
}
functiongetWidth($img_file){
$image=getimagesize($img_file);
return$image[0];
}
functiongetHeight($img_file){
$image=getimagesize($img_file);
return$image[1];
}
?>
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP图形与图片操作技巧汇总》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php面向对象程序设计入门教程》、《PHP网络编程技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。