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 调用远程url的六种方法小结
Nov 02 PHP
php利用cookie实现访问次数统计代码
May 19 PHP
php数据库配置文件一般做法分享
Jul 07 PHP
作为PHP程序员应该了解MongoDB的五件事
Jun 03 PHP
smarty中js的调用方法示例
Oct 27 PHP
简单实用的PHP防注入类实例
Dec 05 PHP
php第一次无法获取cookie问题处理
Dec 15 PHP
ecshop 2.72如何修改后台访问地址
Mar 03 PHP
PHP实现递归目录的5种方法
Oct 27 PHP
PHP实现根据数组某个键值大小进行排序的方法
Mar 13 PHP
PHP设计模式之装饰器模式定义与用法详解
Apr 02 PHP
PHP7匿名类的用法示例
Apr 05 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 strtok()函数的优点分析
2010/03/02 PHP
ThinkPHP数据操作方法总结
2015/09/28 PHP
JQUERY操作JSON实例代码
2010/02/09 Javascript
匹配任意字符的正则表达式写法
2010/04/29 Javascript
JS选中checkbox后获取table内一行TD所有数据的方法
2015/07/01 Javascript
javaScript中的原型解析【推荐】
2016/05/05 Javascript
浅谈jQuery中的checkbox问题
2016/08/10 Javascript
EasyUI学习之DataGird分页显示数据
2016/12/29 Javascript
vue-router 导航钩子的具体使用方法
2017/08/31 Javascript
还不懂递归?读完这篇文章保证你会懂
2018/07/29 Javascript
jQuery序列化form表单数据为JSON对象的实现方法
2018/09/20 jQuery
使用Sonarqube扫描Javascript代码的示例
2018/12/26 Javascript
浅谈vue使用axios的回调函数中this不指向vue实例,为undefined
2020/09/21 Javascript
用webAPI实现图片放大镜效果
2020/11/23 Javascript
[01:08:17]2018DOTA2亚洲邀请赛3月29日 小组赛B组 EG VS VGJ.T
2018/03/30 DOTA
在Python的setuptools框架下生成egg的教程
2015/04/13 Python
解决pyqt中ui编译成窗体.py中文乱码的问题
2016/12/23 Python
Python urls.py的三种配置写法实例详解
2017/04/28 Python
python使用openpyxl库修改excel表格数据方法
2018/05/03 Python
Python中几种属性访问的区别与用法详解
2018/10/10 Python
Python实现的合并两个有序数组算法示例
2019/03/04 Python
Python函数默认参数常见问题及解决方案
2020/03/26 Python
Python基础类继承重写实现原理解析
2020/04/03 Python
Python opencv相机标定实现原理及步骤详解
2020/04/09 Python
基于python实现破解滑动验证码过程解析
2020/05/28 Python
美国女性服饰销售网站:Nasty Gal(坏女孩)
2016/07/26 全球购物
英国著名的美容护肤和护发产品购物网站:Lookfantastic
2020/11/23 全球购物
村庄环境整治方案
2014/05/15 职场文书
2014最新实习证明模板
2014/10/02 职场文书
开会通知
2015/04/20 职场文书
党员转正党支部意见
2015/06/02 职场文书
幼儿园六一儿童节主持词
2015/06/30 职场文书
奖学金主要事迹范文
2015/11/04 职场文书
浅谈MySQL 亿级数据分页的优化
2021/06/15 MySQL
CSS几步实现赛博朋克2077风格视觉效果
2021/06/16 HTML / CSS
MySQL into_Mysql中replace与replace into用法案例详解
2021/09/14 MySQL