博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP图像操作:3D图、缩放、旋转、裁剪、添加水印(二)
阅读量:4286 次
发布时间:2019-05-27

本文共 1946 字,大约阅读时间需要 6 分钟。

来源:

3、PHP对图像的裁剪

1: 
2:     

裁剪之前

3:     
4: 
5: 
6: header("content-type","text/html;charset=utf-8");
7: 
8: /*
9: *图片裁剪
10: *@param string $filename   图片的url
11: *@param int    $width      图片裁剪宽度
12: *@param int    $height     图片裁剪高度
13: *@param int    $x          裁剪图片左边开始的位置
14: *@param int    $y          裁剪图片顶边开始的位置
15: */
16: function cut($filename,$x,$y,$width,$height)
17: {
18:     /*获取图像资源,需要裁剪的图片*/
19:     $image = imagecreatefrompng($filename);
20: 
21:     /*以新的大小创建画布,保存裁剪后的图片*/
22:     $image_p = imagecreatetruecolor($width, $height);
23: 
24:     /*使用imagecopyresampled缩放*/
25:     imagecopyresampled($image_p, $image, 0, 0, $x, $y, $width, $height, $width, $height);
26: 
27:     /*保存裁剪后的图片和命名*/
28:     imagepng($image_p,'test1.png');
29: 
30:     /*释放资源*/
31:     imagedestroy($image_p);
32:     imagedestroy($image);
33: }
34: /*调用函数*/
35: cut('1.png',20,20,80,80);
36: ?>
37: 
38:     

裁剪之后

39:     
40: 

效果

4、PHP为图像添加水印

1: 
2:     

没有水印

3:     
4: 
5: 
6: header("content-type","text/html;charset=utf-8");
7: 
8: /*
9: *给背景图片添加水印,背景图片格式png,水印格式gif
10: *@param string $filename   图片的url
11: *@param string $water      水印图片
12: */
13: function watermark($filename,$water)
14: {
15:     /*获取原图的大小*/
16:     list($b_w,$b_h) = getimagesize($filename);
17: 
18:     /*获取水印图片的大小*/
19:     list($w_w,$w_h) = getimagesize($water);
20: 
21:     /*在背景图片中放水印图片的随机起始位置*/
22:     $posX =rand(0,($b_w - $w_w));
23:     $posY =rand(0,($b_h - $w_h));
24: 
25:     /*获取图像资源,需要裁剪的图片*/
26:     $back = imagecreatefrompng($filename);
27:     $water =  imagecreatefromgif($water);
28: 
29:     /*使用Inagecopy函数复制水印图片到指定位置*/
30:     imagecopy($back, $water, $posX, $posY, 0, 0, $w_w, $w_h);
31: 
32:     /*保存带水印的图片和命名*/
33:     imagepng($back,'test2.png');
34: 
35:     /*释放资源*/
36:     imagedestroy($back);
37:     imagedestroy($water);
38: }
39: /*调用函数*/
40: watermark('1.png','test.gif');
41: ?>
42: 
43:     

加上水印

44:     
45: 

效果

你可能感兴趣的文章
C++ 重载、覆盖、隐藏
查看>>
Hyperledger Fabric笔记4--运行IBM Marbles项目
查看>>
Ubuntu小技巧13--grep命令详解
查看>>
Ubuntu小技巧17--常用软件服务配置方法
查看>>
Windows小技巧8--VMware workstation虚拟机网络通信
查看>>
设计模式笔记1--单例模式
查看>>
数据结构与算法2--数组常见操作
查看>>
数据结构与算法3--树常见操作
查看>>
双色球笔记3--输出所有中奖号码
查看>>
双色球笔记4--爬取500彩票网站双色球开奖信息
查看>>
读写CSV文件
查看>>
RIDE屏蔽INFO级别的日志输出
查看>>
Ubuntu小技巧19--Kibana安装方法
查看>>
思科设备常用命令备注
查看>>
linux命令(Ubuntu)
查看>>
URL中的特殊字符
查看>>
搭建本地python环境
查看>>
Spring Boot的两种部署方式:jar包和war包
查看>>
Spring Boot日志配置:logback
查看>>
【Vuetify】安装使用(一)
查看>>