php缩小png图片不损失透明色的解决方法


Posted in PHP onDecember 25, 2013

主要是利用gd库的两个方法:

imagecolorallocatealpha //分配颜色 + alpha
imagesavealpha //设置在保存 png 图像时保存完整的 alpha 通道信息

代码示例:

//获取源图gd图像标识符
$srcImg = imagecreatefrompng('./src.png');
$srcWidth = imagesx($srcImg);
$srcHeight = imagesy($srcImg);
//创建新图
$newWidth = round($srcWidth / 2);
$newHeight = round($srcHeight / 2);
$newImg = imagecreatetruecolor($newWidth, $newHeight);
//分配颜色 + alpha,将颜色填充到新图上
$alpha = imagecolorallocatealpha($newImg, 0, 0, 0, 127);
imagefill($newImg, 0, 0, $alpha);
//将源图拷贝到新图上,并设置在保存 PNG 图像时保存完整的 alpha 通道信息
imagecopyresampled($newImg, $srcImg, 0, 0, 0, 0, $newWidth, $newHeight, $srcWidth, $srcHeight);
imagesavealpha($newImg, true);
imagepng($newImg, './dst.png');
PHP 相关文章推荐
PHP新手上路(四)
Oct 09 PHP
PHP实现MySQL更新记录的代码
Jun 07 PHP
php 生成唯一id的几种解决方法
Mar 08 PHP
深入PHP运行环境配置的详解
Jun 04 PHP
Function eregi is deprecated (解决方法)
Jun 21 PHP
php生成QRcode实例
Sep 22 PHP
PHP易混淆函数的区别及用法汇总
Nov 22 PHP
php图片添加文字水印实现代码
Mar 15 PHP
PHP连接MYSQL数据库的3种常用方法
Feb 27 PHP
浅析PHP类的反射来实现依赖注入过程
Feb 06 PHP
ThinkPHP框架下微信支付功能总结踩坑笔记
Apr 10 PHP
php实现的生成排列算法示例
Jul 25 PHP
php查看请求头信息获取远程图片大小的方法分享
Dec 25 #PHP
php对数组排序的简单实例
Dec 25 #PHP
ubuntu12.04使用c编写php扩展模块教程分享
Dec 25 #PHP
php中apc缓存使用示例
Dec 25 #PHP
php递归获取目录内文件(包含子目录)封装类分享
Dec 25 #PHP
输入值/表单提交参数过滤有效防止sql注入的方法
Dec 25 #PHP
zend framework文件上传功能实例代码
Dec 25 #PHP
You might like
多人战的战术与战略
2020/03/04 星际争霸
用PHP和ACCESS写聊天室(一)
2006/10/09 PHP
php下用GD生成生成缩略图的两个选择和区别
2007/04/17 PHP
PHP使用SOAP扩展实现WebService的方法
2016/04/01 PHP
PHP AjaxForm提交图片上传并显示图片源码
2016/11/29 PHP
PHP自定义函数获取汉字首字母的方法
2016/12/01 PHP
php反射学习之不用new方法实例化类操作示例
2019/06/14 PHP
mysqli扩展无法在PHP7下升级问题的解决
2019/09/10 PHP
php7 新增功能实例总结
2020/05/25 PHP
通过js脚本复制网页上的一个表格的不错实现方法
2006/12/29 Javascript
javascript获取元素偏移量的方法有哪些
2014/06/24 Javascript
javascript自定义右键弹出菜单实现方法
2015/05/25 Javascript
深入浅析javascript中的作用域(推荐)
2016/07/19 Javascript
phantomjs导出html到pdf的方法总结
2017/10/19 Javascript
判断iOS、Android以及PC端的示例代码
2018/11/15 Javascript
微信小程序实现多选框全选与取消全选功能示例
2019/05/14 Javascript
微信小程序实现消息框弹出动画
2020/04/18 Javascript
[40:12]Liquid vs Chaos 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
总结Python编程中函数的使用要点
2016/03/20 Python
python删除过期log文件操作实例解析
2018/01/31 Python
Python数据分析之双色球统计两个红和蓝球哪组合比例高的方法
2018/02/03 Python
python 脚本生成随机 字母 + 数字密码功能
2018/05/26 Python
PyGame贪吃蛇的实现代码示例
2018/11/21 Python
python分数表示方式和写法
2019/06/26 Python
Python简单处理坐标排序问题示例
2019/07/11 Python
Python 获取项目根路径的代码
2019/09/27 Python
Python如何实现小程序 无限求和平均
2020/02/18 Python
使用python tkinter开发一个爬取B站直播弹幕工具的实现代码
2021/02/07 Python
英国最大的香水商店:The Fragrance Shop
2018/07/06 全球购物
小学教师学期末自我评价
2013/09/25 职场文书
药学专业毕业生求职信
2013/10/20 职场文书
高中生的学习总结自我鉴定
2013/10/26 职场文书
2014年三万活动总结
2014/04/26 职场文书
3的组成教学反思
2014/04/30 职场文书
实习协议书
2015/01/27 职场文书
解决Django transaction进行事务管理踩过的坑
2021/04/24 Python