这篇文章主要为大家展示了“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];
}
?>
以上是“php如何实现水印文字和缩略图”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。