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 相关文章推荐
检查url链接是否已经有参数的php代码 添加 ? 或 &
Feb 09 PHP
AMFPHP php远程调用(RPC, Remote Procedure Call)工具 快速入门教程
May 10 PHP
解析PHP工厂模式的好处
Jun 18 PHP
深入array multisort排序原理的详解
Jun 18 PHP
php预定义变量使用帮助(带实例)
Oct 30 PHP
php字符串操作针对负值的判断分析
Jul 28 PHP
PHP将URL转换成短网址的算法分享
Sep 13 PHP
基于thinkPHP3.2实现微信接入及查询token值的方法
Apr 18 PHP
ThinkPHP 模板引擎使用详解
May 07 PHP
php命令行写shell实例详解
Jul 19 PHP
PHP压缩图片功能的介绍
Mar 21 PHP
ThinkPHP3.2.3框架实现的空模块、空控制器、空操作,跳转到错误404页面图文详解
Apr 03 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
2019年中国咖啡业现状与发展趋势
2021/03/04 咖啡文化
国产PHP开发框架myqee新手快速入门教程
2014/07/14 PHP
PHP封装的HttpClient类用法实例
2015/06/17 PHP
PHP abstract 抽象类定义与用法示例
2018/05/29 PHP
JQuery 初体验(建议学习jquery)
2009/04/25 Javascript
javascript 类型判断代码分析
2010/03/28 Javascript
JQuery onload、ready概念介绍及使用方法
2013/04/27 Javascript
中文路径导致unitpngfix.js不正常的解决方法
2013/06/26 Javascript
nodejs教程之制作一个简单的文章发布系统
2014/11/21 NodeJs
angularjs指令中的compile与link函数详解
2014/12/06 Javascript
用队列模拟jquery的动画算法实例
2015/01/20 Javascript
javascript中eval解析JSON字符串
2016/02/27 Javascript
AngularJS实现textarea记录只能输入规定数量的字符并显示
2016/04/26 Javascript
BootStrap中Tab页签切换实例代码
2016/05/30 Javascript
Google 地图API Map()构造器详解
2016/08/06 Javascript
node.js实现快速截图
2016/08/27 Javascript
理解AngularJs篇:30分钟快速掌握AngularJs
2016/12/23 Javascript
jquery实现回车键触发事件(实例讲解)
2017/11/21 jQuery
Vue 仿QQ左滑删除组件功能
2018/03/12 Javascript
[05:46]2018完美盛典-《同梦共竞》
2018/12/17 DOTA
python3 判断列表是一个空列表的方法
2018/05/04 Python
python 识别图片中的文字信息方法
2018/05/10 Python
在Pycharm中调试Django项目程序的操作方法
2019/07/17 Python
Windows系统Python直接调用C++ DLL的方法
2019/08/01 Python
Python3多线程版TCP端口扫描器
2019/08/31 Python
Python 函数绘图及函数图像微分与积分
2019/11/20 Python
如何使用repr调试python程序
2020/02/28 Python
解决Keras中Embedding层masking与Concatenate层不可调和的问题
2020/06/18 Python
环保公益广告语
2014/03/13 职场文书
安全标语口号
2014/06/09 职场文书
2015年药房工作总结
2015/04/25 职场文书
《葡萄沟》教学反思
2016/02/23 职场文书
用Python制作灯光秀短视频的思路详解
2021/04/13 Python
MySQL系列之四 SQL语法
2021/07/02 MySQL
JavaScript选择器函数querySelector和querySelectorAll
2021/11/27 Javascript
介绍一下28个JS常用数组方法
2022/05/06 Javascript