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 XML备份Mysql数据库
May 27 PHP
仿Aspnetpager的一个PHP分页类代码 附源码下载
Oct 08 PHP
php设计模式之命令模式的应用详解
May 21 PHP
php实现微信公众平台账号自定义菜单类
Dec 02 PHP
php英文单词统计器
Jun 23 PHP
php版微信数据统计接口用法示例
Oct 12 PHP
PHP获取真实客户端的真实IP
Mar 07 PHP
PHP提取字符串中的手机号正则表达式怎么写
Jul 17 PHP
php实现单笔转账到支付宝功能
Oct 09 PHP
PHP如何防止XSS攻击与XSS攻击原理的讲解
Mar 22 PHP
Thinkphp5.0框架使用模型Model的获取器、修改器、软删除数据操作示例
Oct 11 PHP
PHP执行linux命令6个函数代码实例
Nov 24 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
在DC的漫画和电影中,蝙蝠侠的宿敌,小丑的真名是什么?
2020/04/09 欧美动漫
php 缩略图实现函数代码
2011/06/23 PHP
PHP以及MYSQL日期比较方法
2012/11/29 PHP
配置php网页显示各种语法错误
2013/09/23 PHP
Laravel 5框架学习之表单
2015/04/08 PHP
了解PHP的返回引用和局部静态变量
2015/06/04 PHP
php实现将HTML页面转换成word并且保存的方法
2016/10/14 PHP
php代码调试利器firephp安装与使用方法分析
2018/08/21 PHP
jquery等宽输出文字插件使用介绍
2013/09/18 Javascript
javascript trim函数在IE下不能用的解决方法
2014/09/12 Javascript
JavaScript深度复制(deep clone)的实现方法
2016/02/19 Javascript
JavaScript开发者必备的10个Sublime Text插件
2016/02/27 Javascript
一些实用性较高的js方法
2016/04/19 Javascript
JavaScript String 对象常用方法详解
2016/05/13 Javascript
vuex 项目结构目录及一些简单配置介绍
2018/04/08 Javascript
详解iframe跨域的几种常用方法(小结)
2019/04/29 Javascript
vue+element实现表单校验功能
2019/05/20 Javascript
javascript实现点击按钮切换轮播图功能
2020/09/23 Javascript
[01:04:31]DOTA2-DPC中国联赛定级赛 iG vs Magma BO3第二场 1月8日
2021/03/11 DOTA
Python随机生成数模块random使用实例
2015/04/13 Python
Python基于正则表达式实现文件内容替换的方法
2017/08/30 Python
python 请求服务器的实现代码(http请求和https请求)
2018/05/25 Python
pandas DataFrame 删除重复的行的实现方法
2019/01/29 Python
Python使用matplotlib绘制Logistic曲线操作示例
2019/11/28 Python
浅谈tensorflow使用张量时的一些注意点tf.concat,tf.reshape,tf.stack
2020/06/23 Python
matplotlib基础绘图命令之bar的使用方法
2020/08/13 Python
详解基于canvas的视频遮罩插件
2018/01/04 HTML / CSS
Boden澳大利亚官网:英国在线服装公司
2018/08/05 全球购物
会计师事务所审计实习自我鉴定
2013/09/20 职场文书
给酒店员工的表扬信
2014/01/11 职场文书
初中英语教学反思
2014/01/25 职场文书
军训教官感言
2014/03/02 职场文书
个人对照检查材料思想汇报
2014/09/26 职场文书
死亡证明书样本说明
2014/10/18 职场文书
2015年法院工作总结范文
2015/04/28 职场文书
用python批量解压带密码的压缩包
2021/05/31 Python