PHP实现生成透明背景的PNG缩略图函数分享


Posted in PHP onJuly 08, 2014

之前在WEB开发笔记写过一个PHP生成缩略图的函数,虽然那个函数能够生成缩略图,但是有一定的缺陷,在生成PNG缩略图的时候,背景是黑色,今天又写了一个函数来弥补一下。代码很简单,就是imagealphablending($thumb,false);与imagesavealpha($thumb,true);很重要.主要就是把PNG的alpha值保存,不要丢失而已。

函数如下:

<?PHP
/*
 *$sourePic:原图路径
 * $smallFileName:小图名称
 * $width:小图宽
 * $heigh:小图高
 * 转载注明 www.chhua.com*/
function pngthumb($sourePic,$smallFileName,$width,$heigh){
	$image=imagecreatefrompng($sourePic);//PNG
		 	imagesavealpha($image,true);//这里很重要 意思是不要丢了$sourePic图像的透明色;
		 	$BigWidth=imagesx($image);//大图宽度
			$BigHeigh=imagesy($image);//大图高度
			$thumb = imagecreatetruecolor($width,$heigh);
			imagealphablending($thumb,false);//这里很重要,意思是不合并颜色,直接用$img图像颜色替换,包括透明色;
			imagesavealpha($thumb,true);//这里很重要,意思是不要丢了$thumb图像的透明色;
			if(imagecopyresampled($thumb,$image,0,0,0,0,$width,$heigh,$BigWidth,$BigHeigh)){
			imagepng($thumb,$smallFileName);}
			return $smallFileName;//返回小图路径 转载注明 www.chhua.com
}
 
pngthumb("a.png", "c.png", 300, 300);//调用
?>
PHP 相关文章推荐
PHP学习之PHP表达式
Oct 09 PHP
针对初学PHP者的疑难问答(2)
Oct 09 PHP
用PHPdig打造属于你自己的Google[图文教程]
Feb 14 PHP
php异常处理技术,顶级异常处理器
Jun 13 PHP
PHP Session 变量的使用方法详解与实例代码
Sep 11 PHP
PHP使用GIFEncoder类处理gif图片实例
Jul 01 PHP
PHP检测字符串是否为UTF8编码的常用方法
Nov 21 PHP
Yii2.0 Basic代码中路由链接被转义的处理方法
Sep 21 PHP
Yii框架实现邮箱激活的方法【数字签名】
Oct 18 PHP
[原创]php正则删除html代码中class样式属性的方法
May 24 PHP
smarty模板的使用方法实例分析
Sep 18 PHP
PHP安全之register_globals的on和off的区别
Jul 23 PHP
PHP的error_reporting错误级别变量对照表
Jul 08 #PHP
PHP获取客户端真实IP地址的5种情况分析和实现代码
Jul 08 #PHP
php+mysql不用递归实现的无限级分类实例(非递归)
Jul 08 #PHP
PHP生成短网址的3种方法代码实例
Jul 08 #PHP
PHP的fsockopen、pfsockopen函数被主机商禁用的解决办法
Jul 08 #PHP
php中函数前加&amp;符号的作用分解
Jul 08 #PHP
PHP实现的连贯操作、链式操作实例
Jul 08 #PHP
You might like
PHP转盘抽奖接口实例
2015/02/09 PHP
php将远程图片保存到本地服务器的实现代码
2015/08/03 PHP
Laravel使用Caching缓存数据减轻数据库查询压力的方法
2016/03/15 PHP
再谈querySelector和querySelectorAll的区别与联系
2012/04/20 Javascript
jquery对元素拖动排序示例
2014/01/16 Javascript
利用原生JavaScript获取元素样式只是获取而已
2014/10/08 Javascript
在Node.js中使用HTTP上传文件的方法
2015/06/23 Javascript
seajs加载jquery时提示$ is not a function该怎么解决
2015/10/23 Javascript
使用微信内嵌H5网页解决JS倒计时失效问题
2017/01/13 Javascript
前端常见跨域解决方案(全)
2017/09/19 Javascript
在knockoutjs 上自己实现的flux(实例讲解)
2017/12/18 Javascript
js经验分享 JavaScript反调试技巧
2018/03/10 Javascript
去掉vue 中的代码规范检测两种方法(Eslint验证)
2018/03/21 Javascript
python获取android设备的GPS信息脚本分享
2015/03/06 Python
Python CSV模块使用实例
2015/04/09 Python
简单谈谈Python中的几种常见的数据类型
2017/02/10 Python
Python Web程序部署到Ubuntu服务器上的方法
2018/02/22 Python
用Python将mysql数据导出成json的方法
2018/08/21 Python
pandas 数据归一化以及行删除例程的方法
2018/11/10 Python
python版飞机大战代码分享
2018/11/20 Python
python实现简单多人聊天室
2018/12/11 Python
Python os.access()用法实例
2019/02/18 Python
python3使用matplotlib绘制散点图
2019/03/19 Python
pycharm新建一个python工程步骤
2019/07/16 Python
使用Python代码实现Linux中的ls遍历目录命令的实例代码
2019/09/07 Python
python百行代码自制电脑端网速悬浮窗的实现
2020/05/12 Python
Python趣味入门教程之循环语句while
2020/08/26 Python
使用CSS实现弹性视频html5案例实践
2012/12/26 HTML / CSS
be2台湾单身男女交友:全球网路婚姻介绍的领导品牌
2019/10/11 全球购物
大学生自我评价怎样写好
2013/10/23 职场文书
计算机专业个人简短的自我评价
2013/10/23 职场文书
欢迎标语大全
2014/06/21 职场文书
2014年双拥工作总结
2014/11/21 职场文书
农业项目合作意向书
2015/05/08 职场文书
导游词之天津盘山
2019/11/01 职场文书
解决spring.thymeleaf.cache=false不起作用的问题
2022/06/10 Java/Android