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下过滤HTML代码的函数
Dec 10 PHP
PHP 加密解密内部算法
Apr 22 PHP
php强制下载类型的实现代码
Apr 21 PHP
php遍历数组的方法分享
Mar 22 PHP
仿dedecms下拉分页样式修改的thinkphp分页类实例
Oct 30 PHP
PHP写日志的实现方法
Nov 05 PHP
php使用date和strtotime函数输出指定日期的方法
Nov 14 PHP
PHP中字符安全过滤函数使用小结
Feb 25 PHP
thinkPHP模板引擎用法示例
Dec 08 PHP
PHP实现搜索时记住状态的方法示例
May 11 PHP
laravel 去掉index.php伪静态的操作方法
Oct 12 PHP
在thinkphp5.0路径中实现去除index.php的方式
Oct 16 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
给apache2.2加上mod_encoding模块後 php5.2.0 处理url出现bug
2007/04/12 PHP
php str_replace的替换漏洞
2008/03/15 PHP
thinkphp四种url访问方式详解
2014/11/28 PHP
php通过array_unshift函数添加多个变量到数组前端的方法
2015/03/18 PHP
PHP的openssl加密扩展使用小结(推荐)
2016/07/18 PHP
验证坐标在某坐标区域内php代码
2016/10/08 PHP
php封装的图片(缩略图)处理类完整实例
2016/10/19 PHP
Yii2第三方类库插件Imagine的安装和使用
2017/07/06 PHP
更换select下拉菜单背景样式的实现代码
2011/12/20 Javascript
jQuery实现精美的多级下拉菜单特效
2015/03/14 Javascript
JQUERY实现网页右下角固定位置展开关闭特效的方法
2015/07/27 Javascript
jQuery EasyUI框架中的Datagrid数据表格组件结构详解
2016/06/09 Javascript
Vue.js组件使用开发实例教程
2016/11/01 Javascript
仿iframe效果Aajx文件上传实例
2016/11/18 Javascript
原生node.js案例--前后台交互
2017/02/20 Javascript
js实现一个猜数字游戏
2017/03/31 Javascript
angular的输入和输出的使用方法
2018/09/22 Javascript
vue-router之nuxt动态路由设置的两种方法小结
2018/09/26 Javascript
详解auto-vue-file:一个自动创建vue组件的包
2019/04/26 Javascript
atom-design(Vue.js移动端组件库)手势组件使用教程
2019/05/16 Javascript
vue.js表单验证插件(vee-validate)的使用教程详解
2019/05/23 Javascript
实现vuex与组件data之间的数据同步更新方式
2019/11/12 Javascript
js实现自定义滚动条的示例
2020/10/27 Javascript
解决vue初始化项目一直停在downloading template的问题
2020/11/09 Javascript
Python yield使用方法示例
2013/12/04 Python
python分析nignx访问日志脚本分享
2015/02/26 Python
MySQL中表的复制以及大型数据表的备份教程
2015/11/25 Python
一百行python代码将图片转成字符画
2021/02/19 Python
python制作mysql数据迁移脚本
2019/01/01 Python
基于pygame实现童年掌机打砖块游戏
2020/02/25 Python
Python 发送邮件方法总结
2020/08/10 Python
装修五一活动策划案
2014/01/23 职场文书
年会主持词结束语
2014/03/27 职场文书
财务部岗位职责范本
2015/04/14 职场文书
入党积极分子培养联系人意见
2015/08/12 职场文书
Python实战之OpenCV实现猫脸检测
2021/06/26 Python