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 相关文章推荐
自动跳转中英文页面
Oct 09 PHP
杏林同学录(一)
Oct 09 PHP
mysql 的 like 问题,超强毕杀记!!!
Jan 18 PHP
PHP Pear 安装及使用
Mar 19 PHP
php Imagick获取图片RGB颜色值
Jul 28 PHP
php利用cookies实现购物车的方法
Dec 10 PHP
基于php实现七牛抓取远程图片
Dec 01 PHP
利用Fix Rss Feeds插件修复WordPress的Feed显示错误
Dec 19 PHP
基于win2003虚拟机中apache服务器的访问
Aug 01 PHP
PHP实现的折半查询算法示例
Oct 09 PHP
总结PHP中初始化空数组的最佳方法
Feb 13 PHP
php5.6.x到php7.0.x特性小结
Aug 17 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
php Ajax乱码
2008/04/09 PHP
php daodb插入、更新与删除数据
2009/03/19 PHP
php打开本地exe程序,js打开本地exe应用程序,并传递相关参数方法
2018/02/06 PHP
TP5(thinkPHP5)框架使用ajax实现与后台数据交互的方法小结
2020/02/10 PHP
jQuery 学习6 操纵元素显示效果的函数
2010/02/07 Javascript
可以将word转成html的js代码
2010/04/11 Javascript
aspx中利用js实现确认删除代码
2010/07/22 Javascript
js实现网页随机切换背景图片的方法
2014/11/01 Javascript
JavaScript阻止事件冒泡示例分享
2014/12/28 Javascript
jquery控制背景音乐开关与自动播放提示音的方法
2015/02/06 Javascript
JS验证 只能输入小数点,数字,负数的实现方法
2016/10/07 Javascript
使用jquery.qrcode.js生成二维码插件
2016/10/17 Javascript
webix+springmvc session超时跳转登录页面
2016/10/30 Javascript
jQuery基于正则表达式的表单验证功能示例
2017/01/21 Javascript
AngularJS报错$apply already in progress的解决方法分析
2017/01/30 Javascript
JavaScript阻止表单提交方法(附代码)
2017/08/15 Javascript
JavaScript实现简单图片轮播效果
2017/08/21 Javascript
webpack 最佳配置指北(推荐)
2020/01/07 Javascript
Vue使用Three.js加载glTF模型的方法详解
2020/06/14 Javascript
[01:28:44]DOTA2-DPC中国联赛定级赛 RNG vs iG BO3第一场 1月10日
2021/03/11 DOTA
python实现zencart产品数据导入到magento(python导入数据)
2014/04/03 Python
在Django中使用Sitemap的方法讲解
2015/07/22 Python
Pytorch 抽取vgg各层并进行定制化处理的方法
2019/08/20 Python
python encrypt 实现AES加密的实例详解
2020/02/20 Python
Python爬虫实现selenium处理iframe作用域问题
2021/01/27 Python
I.T集团香港官方商城:ITeSHOP.com Hong Kong
2019/02/15 全球购物
菲律宾优惠券网站:MetroDeal
2019/04/12 全球购物
main 主函数执行完毕后,是否可能会再执行一段代码,给出说明
2012/12/05 面试题
如何进行有效的自我评价
2013/09/27 职场文书
团日活动总结
2014/04/28 职场文书
三八妇女节活动总结
2014/05/04 职场文书
温馨提示标语
2014/06/26 职场文书
党员个人对照检查材料
2014/10/01 职场文书
2015年秋学期师德师风建设工作总结
2015/10/23 职场文书
2017年寒假社区服务活动总结
2016/04/06 职场文书
自己搭建resnet18网络并加载torchvision自带权重的操作
2021/05/13 Python