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 相关文章推荐
apache2.2.4+mysql5.0.77+php5.2.8安装精简
Apr 29 PHP
PHP 动态随机生成验证码类代码
Apr 09 PHP
php适配器模式介绍
Aug 14 PHP
三个类概括PHP的五种设计模式
Sep 05 PHP
PHP魔术引号所带来的安全问题分析
Jul 15 PHP
如何在HTML 中嵌入 PHP 代码
May 13 PHP
smarty中改进truncate使其支持中文的方法
May 30 PHP
Yii+upload实现AJAX上传图片的方法
Jul 13 PHP
PHP中使用OpenSSL生成证书及加密解密
Feb 05 PHP
详解PHP版本兼容之openssl调用参数
Jul 25 PHP
PDO::commit讲解
Jan 27 PHP
php使用pecl方式安装扩展操作示例
Aug 12 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 strcmp()和strcasecmp()的区别实例
2016/11/05 PHP
NodeJS框架Express的模板视图机制分析
2011/07/19 NodeJs
javascript获取url上某个参数的方法
2013/11/08 Javascript
JavaScript Math.floor方法(对数值向下取整)
2015/01/09 Javascript
Jquery 实现table样式的设定
2015/01/28 Javascript
使用nodejs开发cli项目实例
2015/06/03 NodeJs
AngularJS学习笔记之基本指令(init、repeat)
2015/06/16 Javascript
Bootstrap每天必学之滚动监听
2016/03/16 Javascript
每日十条JavaScript经验技巧(一)
2016/06/23 Javascript
深入浅析search 搜索框的写法
2016/08/02 Javascript
几种二级联动案例(jQuery\Array\Ajax php)
2016/08/13 Javascript
详解AngularJs中$resource和restfu服务端数据交互
2016/09/21 Javascript
BootStrap 超链接变按钮的实现方法
2016/09/25 Javascript
canvas仿iwatch时钟效果
2017/03/06 Javascript
Vue 创建组件的两种方法小结(必看)
2018/02/23 Javascript
NodeJs入门教程之定时器和队列
2019/03/08 NodeJs
vue-router 前端路由之路由传值的方式详解
2019/04/30 Javascript
ajax jquery实现页面某一个div的刷新效果
2021/03/04 jQuery
[01:04]DOTA2:伟大的Roshan雕塑震撼来临
2015/01/30 DOTA
python中去空格函数的用法
2014/08/21 Python
浅谈Django中的数据库模型类-models.py(一对一的关系)
2018/05/30 Python
Python判断一个三位数是否为水仙花数的示例
2018/11/13 Python
Python实现繁?转为简体的方法示例
2018/12/18 Python
pthon贪吃蛇游戏详细代码
2019/01/27 Python
对Python3中列表乘以某一个数的示例详解
2019/07/20 Python
Django restframework 框架认证、权限、限流用法示例
2019/12/21 Python
Python class的继承方法代码实例
2020/02/14 Python
python3.7+selenium模拟淘宝登录功能的实现
2020/05/26 Python
利用Vscode进行Python开发环境配置的步骤
2020/06/22 Python
Lampenwelt德国:欧洲领先的灯具和照明在线商店
2018/08/05 全球购物
乌克兰电子产品和家用电器购物网站:TOUCH
2019/08/09 全球购物
写给女生的道歉信
2014/01/14 职场文书
期末自我鉴定
2014/02/02 职场文书
2014年专项整治工作总结
2014/11/17 职场文书
2015年度合同管理工作总结
2015/05/22 职场文书
送给小学生的暑假礼物!小学生必背99首古诗
2019/07/02 职场文书