PHP的图像处理实例小结【文字水印、图片水印、压缩图像等】


Posted in PHP onDecember 20, 2019

本文实例讲述了PHP的图像处理。分享给大家供大家参考,具体如下:

1、添加文字水印

//1、打开图片资源
  $src="./material/sea.jpg";
  $info=getimagesize($src);//获取图片信息
  $type=image_type_to_extension($info[2],false);//转化图片类型
  //var_dump($info);
  $fun="imagecreatefrom{$type}";//拼接成为imagecreatefromjpeg()方法
  $image=$fun($src);//新建GD图片资源
//操作图片
  $font="./material/segoepr.ttf";
  $content="@SuperTory";
  $color=imagecolorallocate($image,255,255,255);
  imagettftext($image,10,0,0,$info[1]-5,$color,$font,$content);//图片上写文字
//输出图片
  header("content-type:".$info['mime']);//$imfo['mine']='image/jpeg'
  $output="image{$type}";//拼接成为imagejpeg()方法
  $output($image);//输出到页面
  $output($image,'./material/watermarked.'.$type);//输出到本地路径
//销毁图片内存资源
  imagedestroy($image);

2、压缩图像

//打开图像
$src="./material/logo.png";
$info=getimagesize($src);
$type=image_type_to_extension($info[2],false);
$create="imagecreatefrom".$type;
$image=$create($src);
//压缩
$tinyImg=imagecreatetruecolor(100,100); //新建压缩后的图像资源
//将原图映射到压缩后的图像资源上
imagecopyresampled($tinyImg,$image,0,0,0,0,100,100,$info[0],$info[1]);
header("content-type:".$info['mime']);
$output="image{$type}";
//$output($image);
$output($tinyImg);
//销毁
imagedestroy($image);
imagedestroy($tinyImg);

3、添加水印图片

//获取原图片
$src="./material/sea.jpg";
$info=getimagesize($src);
$type=image_type_to_extension($info[2],false);
$create="imagecreatefrom".$type;
$image=$create($src);
//获取水印图片资源
$markSrc="./material/logo.png";
$markInfo=getimagesize($markSrc);
$markType=image_type_to_extension($markInfo[2],false);
$create="imagecreatefrom".$markType;
$markImage=$create($markSrc);
$tinyImg=imagecreatetruecolor(100,100);
imagecopyresampled($tinyImg,$markImage,0,0,0,0,
  100,100,$markInfo[0],$markInfo[1]);
imagecopymerge($image,$tinyImg,$info[0]-100,$info[1]-100,
  0,0,100,100,100);
//合并图片:(原图,水印图,原图x位置,原图y位置,水印x起点,水印y起点,水印x终点,水印y终点,不透明度)
header("content-type:".$info['mime']);
$output="image{$type}";
$output($image);
imagedestroy($image);
imagedestroy($markImage);

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
编写自己的php扩展函数
Oct 09 PHP
解析posix与perl标准的正则表达式区别
Jun 17 PHP
php curl基本操作详解
Jul 23 PHP
PHP中nowdoc和heredoc使用需要注意的一点
Mar 21 PHP
php生成随机字符串可指定纯数字、纯字母或者混合的
Apr 18 PHP
php中eval函数的危害与正确禁用方法
Jun 30 PHP
PHP+Jquery与ajax相结合实现下拉淡出瀑布流效果【无需插件】
May 06 PHP
php图形jpgraph操作实例分析
Feb 22 PHP
PHP删除二维数组中相同元素及数组重复值的方法示例
May 05 PHP
PHP7如何开启Opcode打造强悍性能详解
May 11 PHP
Laravel框架路由设置与使用示例
Jun 12 PHP
PHP实现唤起微信支付功能
Feb 18 PHP
Laravel框架处理用户的请求操作详解
Dec 20 #PHP
PHP上传图片到数据库并显示的实例代码
Dec 20 #PHP
ThinkPHP类似AOP思想的参数验证的实现方法
Dec 18 #PHP
Laravel jwt 多表(多用户端)验证隔离的实现
Dec 18 #PHP
PHP中用Trait封装单例模式的实现
Dec 18 #PHP
PHP实现微信公众号验证Token的示例代码
Dec 16 #PHP
浅析PHP中的 inet_pton 网络函数
Dec 16 #PHP
You might like
php 生成WML页面方法详解
2009/08/09 PHP
ThinkPHP写第一个模块应用
2012/02/20 PHP
php结合正则批量抓取网页中邮箱地址
2015/05/19 PHP
Ajax+PHP实现的分类列表框功能示例
2019/02/11 PHP
基于jQuery的输入框在光标位置插入内容, 并选中
2011/10/29 Javascript
jquery自定义滚动条插件示例分享
2014/02/21 Javascript
基于jQuery创建鼠标悬停效果的方法
2015/03/07 Javascript
js实现表单Radio切换效果的方法
2015/08/17 Javascript
jQuery插件ajaxFileUpload异步上传文件
2016/10/19 Javascript
分享一道关于闭包、bind和this的面试题
2017/02/20 Javascript
nodejs个人博客开发第三步 载入页面
2017/04/12 NodeJs
基于jQuery的表单填充实例
2017/08/22 jQuery
JQuery扩展对象方法操作示例
2018/08/21 jQuery
JavaScript监听触摸事件代码实例
2019/12/30 Javascript
python与php实现分割文件代码
2017/03/06 Python
详解PANDAS 数据合并与重塑(join/merge篇)
2019/07/09 Python
keras获得某一层或者某层权重的输出实例
2020/01/24 Python
Python实现常见的几种加密算法(MD5,SHA-1,HMAC,DES/AES,RSA和ECC)
2020/05/09 Python
python中的django是做什么的
2020/07/31 Python
分享CSS3制作卡片式图片的方法
2016/07/08 HTML / CSS
乐天旅游香港网站:日本饭店预订
2017/11/29 全球购物
自考生自我鉴定范文
2013/10/01 职场文书
师范生实习自我鉴定
2013/11/01 职场文书
家长对老师的评语
2014/04/18 职场文书
室内设计专业毕业生求职信
2014/05/02 职场文书
中华美德颂演讲稿
2014/05/20 职场文书
欢迎横幅标语
2014/06/17 职场文书
防邪知识进家庭活动方案
2014/08/26 职场文书
学校党的群众路线教育实践活动制度建设计划
2014/11/03 职场文书
付款证明模板
2015/06/19 职场文书
Python爬取某拍短视频
2021/06/11 Python
B站评分公认最好看的动漫,你的名字评分9.9,第六备受喜欢
2022/03/18 日漫
详解Python flask的前后端交互
2022/03/31 Python
Docker 镜像介绍以及commit相关操作
2022/04/13 Servers
Mysql 数据库中的 redo log 和 binlog 写入策略
2022/04/26 MySQL
uniapp引入支付宝原生扫码插件步骤详解
2022/07/23 Javascript