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
深入解析PHP中逗号与点号的区别
Aug 05 PHP
又一个PHP实现的冒泡排序算法分享
Aug 21 PHP
php中mysql连接方式PDO使用详解
Feb 25 PHP
php文件扩展名判断及获取文件扩展名的N种方法
Sep 12 PHP
PHP的Yii框架中行为的定义与绑定方法讲解
Mar 18 PHP
PHPStrom 新建FTP项目以及在线操作教程
Oct 16 PHP
iOS+PHP注册登录系统 PHP部分(上)
Dec 26 PHP
PHP实现移除数组中为空或为某值元素的方法
Jan 07 PHP
yii2项目实战之restful api授权验证详解
May 20 PHP
php制作圆形用户头像的实例_自定义封装类源代码
Sep 18 PHP
php处理抢购类功能的高并发请求
Feb 08 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网站基础优化方法小结
2008/09/29 PHP
php 数组的一个悲剧?
2011/05/11 PHP
PHP实现抓取HTTPS内容
2014/12/01 PHP
php文件夹的创建与删除方法
2015/01/24 PHP
Prototype String对象 学习
2009/07/19 Javascript
使用JQUERY Tabs插件宿主IFRAMES
2010/01/01 Javascript
jQuery的写法不同导致的兼容性问题的解决方法
2010/07/29 Javascript
jQuery中position()方法用法实例
2015/01/16 Javascript
jQuery点击输入框显示验证码图片
2016/05/19 Javascript
浅谈JavaScript 浏览器对象
2016/06/03 Javascript
flexslider.js实现移动端轮播
2017/02/05 Javascript
nodejs实现一个word文档解析器思路详解
2018/08/14 NodeJs
对vue2.0中.vue文件页面跳转之.$router.push的用法详解
2018/08/24 Javascript
JS实现返回上一页并刷新页面的方法分析
2019/07/16 Javascript
vue.js+elementUI实现点击左右箭头切换头像功能(类似轮播图效果)
2019/09/05 Javascript
在LayUI图片上传中,解决由跨域问题引起的请求接口错误的方法
2019/09/24 Javascript
vue使用exif获取图片经纬度的示例代码
2020/12/11 Vue.js
JS addEventListener()和attachEvent()方法实现注册事件
2021/01/11 Javascript
安装dbus-python的简要教程
2015/05/05 Python
将Python代码嵌入C++程序进行编写的实例
2015/07/31 Python
Python中如何优雅的合并两个字典(dict)方法示例
2017/08/09 Python
使用 Python 实现微信公众号粉丝迁移流程
2018/01/03 Python
删除python pandas.DataFrame 的多重index实例
2018/06/08 Python
python随机数分布random测试
2018/08/27 Python
Linux下远程连接Jupyter+pyspark部署教程
2019/06/21 Python
vscode 配置 python3开发环境的方法
2019/09/19 Python
Python换行与不换行的输出实例
2020/02/19 Python
python实现读取类别频数数据画水平条形图案例
2020/04/24 Python
CSS3使用多列制作瀑布流
2016/05/10 HTML / CSS
详解android与HTML混合开发总结
2018/06/06 HTML / CSS
阿联酋手表和配饰购物网站:Rivolishop
2019/11/25 全球购物
程序员机试试题汇总
2012/03/07 面试题
教育实习生的自我评价分享
2013/11/21 职场文书
关于环保的建议书400字
2014/03/12 职场文书
倡导文明标语
2014/06/16 职场文书
承德避暑山庄导游词
2015/02/03 职场文书