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 缓存实现代码及详细注释
May 16 PHP
PHP面向对象三大特点学习(充分理解抽象、封装、继承、多态)
May 07 PHP
PHP 修复未正常关闭的HTML标签实现代码(支持嵌套和就近闭合)
Jun 07 PHP
使用PHP静态变量当缓存的方法
Nov 13 PHP
PHP根据IP地址获取所在城市具体实现
Nov 27 PHP
php简单定时执行任务的实现方法
Feb 23 PHP
MySql数据库查询结果用表格输出PHP代码示例
Mar 20 PHP
PHP图形计数器程序显示网站用户浏览量
Jul 20 PHP
Laravel中log无法写入问题的解决
Jun 17 PHP
Laravel5.* 打印出执行的sql语句的方法
Jul 24 PHP
windows下的WAMP环境搭建图文教程(推荐)
Jul 27 PHP
php微信开发之图片回复功能
Jun 14 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+FFMPEG实现将视频自动转码成H264标准Mp4文件
2014/09/24 PHP
PHP操作MySQL的mysql_fetch_* 函数的常见用法教程
2015/12/25 PHP
Yii2中Restful API原理实例分析
2016/07/25 PHP
thinkphp关于简单的权限判定方法
2017/04/03 PHP
php的命名空间与自动加载实现方法
2019/08/25 PHP
PHP PDO和消息队列的个人理解与应用实例分析
2019/11/25 PHP
jQuery照片伸缩效果不影响其他元素的布局
2014/05/09 Javascript
wap浏览自动跳转到wap页面的js代码
2014/05/17 Javascript
js实现统计字符串中特定字符出现个数的方法
2016/08/02 Javascript
javascript ASCII和Hex互转的实现方法
2016/12/27 Javascript
微信小程序 新建登录页并实现tabBar隐藏
2017/06/13 Javascript
jQuery实现的两种简单弹窗效果示例
2018/04/18 jQuery
详解Vue.js自定义tipOnce指令用法实例
2018/12/19 Javascript
小程序云开发实现数据库异步操作同步化
2019/05/18 Javascript
Swiper实现导航栏滚动效果
2020/10/16 Javascript
JavaScript中的几种继承方法示例
2020/12/06 Javascript
python网络编程学习笔记(二):socket建立网络客户端
2014/06/09 Python
在Python中使用全局日志时需要注意的问题
2015/05/06 Python
对python csv模块配置分隔符和引用符详解
2018/12/12 Python
python实现定时发送qq消息
2019/01/18 Python
python3.x实现base64加密和解密
2019/03/28 Python
在python中利用numpy求解多项式以及多项式拟合的方法
2019/07/03 Python
详解基于python-django框架的支付宝支付案例
2019/09/23 Python
python turtle 绘制太极图的实例
2019/12/18 Python
Python+opencv+pyaudio实现带声音屏幕录制
2019/12/23 Python
提升python处理速度原理及方法实例
2019/12/25 Python
python tqdm库的使用
2020/11/30 Python
CSS3点击按钮实现背景渐变动画效果
2016/10/19 HTML / CSS
初一家长会邀请函
2014/01/31 职场文书
《小小竹排画中游》教学反思
2014/02/26 职场文书
班训口号大全
2014/06/18 职场文书
营销学习心得体会
2014/09/12 职场文书
初中学习计划书范文
2014/09/15 职场文书
群众路线四风对照检查材料
2014/11/04 职场文书
社会实践活动报告
2015/02/05 职场文书
2016年读书月活动总结范文
2016/04/06 职场文书