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
PHP实现定时生成HTML网站首页实例代码
Nov 20 PHP
最新用php获取谷歌PR值算法,附上php查询PR值代码示例
Dec 25 PHP
PHP 基于Yii框架中使用smarty模板的方法详解
Jun 13 PHP
YII实现分页的方法
Jul 09 PHP
php中用memcached实现页面防刷新功能
Aug 19 PHP
PHP中魔术变量__METHOD__与__FUNCTION__的区别
Sep 29 PHP
PHP实现的比较完善的购物车类
Dec 02 PHP
php调用淘宝开放API实现根据卖家昵称获取卖家店铺ID的方法
Jul 29 PHP
php读取出一个文件夹及其子文件夹下所有文件的方法示例
Jun 15 PHP
PHP-FPM 设置多pool及配置文件重写操作示例
Oct 02 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
用文本文件制作留言板提示(上)
2006/10/09 PHP
PHP PDO函数库详解
2010/04/27 PHP
PHP禁止页面缓存的代码
2011/10/23 PHP
PHP采用curl模仿用户登陆新浪微博发微博的方法
2014/11/07 PHP
PHP使用gmdate实现将一个UNIX 时间格式化成GMT文本的方法
2015/03/19 PHP
PHP 7.1新特性的汇总介绍
2016/12/16 PHP
正则表达式搭配js轻松处理json文本方便而老古
2013/02/17 Javascript
JS实现的省份级联实例代码
2013/06/24 Javascript
Javascript基础教程之JavaScript语法
2015/01/18 Javascript
NodeJS使用jQuery选择器操作DOM
2015/02/13 NodeJs
JavaScript输出当前时间Unix时间戳的方法
2015/04/06 Javascript
javascript记住用户名和登录密码(两种方式)
2015/08/04 Javascript
Angularjs上传图片实例详解
2017/08/06 Javascript
jquery+css实现简单的图片轮播效果
2017/08/07 jQuery
深入理解JavaScript 中的执行上下文和执行栈
2018/10/23 Javascript
vue基础之模板和过滤器用法实例分析
2019/03/12 Javascript
js中arguments对象的深入理解
2019/05/14 Javascript
[34:56]Ti4冒泡赛LGD vs Liquid 1
2014/07/14 DOTA
python中dir函数用法分析
2015/04/17 Python
python通过tcp发送xml报文的方法
2018/12/28 Python
Python利用逻辑回归模型解决MNIST手写数字识别问题详解
2020/01/14 Python
在python中使用pyspark读写Hive数据操作
2020/06/06 Python
施华洛世奇匈牙利官网:SWAROVSKI匈牙利
2019/07/06 全球购物
外包公司软件测试工程师
2014/11/01 面试题
个人自我鉴定
2013/11/07 职场文书
生产总经理岗位职责
2013/12/19 职场文书
完美主义个人的自我评价
2014/02/17 职场文书
《七颗钻石》教学反思
2014/02/28 职场文书
《大作家的小老师》教学反思
2014/04/16 职场文书
组工干部对照检查材料
2014/08/25 职场文书
食堂厨师岗位职责
2014/08/25 职场文书
走群众路线学习笔记
2014/11/06 职场文书
离职信范本
2015/06/23 职场文书
城镇居民医疗保险工作总结
2015/08/10 职场文书
JS开发前端团队展示控制器来为成员引流
2022/08/14 Javascript
ubuntu20.04虚拟机无法上网的问题及解决
2022/12/24 Servers