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 相关文章推荐
php2html php生成静态页函数
Dec 08 PHP
php报表之jpgraph柱状图实例代码
Aug 22 PHP
关于PHP内存溢出问题的解决方法
Jun 25 PHP
Smarty使用自定义资源的方法
Aug 08 PHP
WordPress中调试缩略图的相关PHP函数使用解析
Jan 07 PHP
CI框架整合smarty步骤详解
May 19 PHP
thinkphp多表查询两表有重复相同字段的完美解决方法
Sep 22 PHP
LAMP环境使用Composer安装Laravel的方法
Mar 25 PHP
thinkPHP5 tablib标签库自定义方法详解
May 10 PHP
thinkphp3.2框架中where条件查询用法总结
Aug 13 PHP
PHP pthreads v3下同步处理synchronized用法示例
Feb 21 PHP
TP5框架实现自定义分页样式的方法示例
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连接MSSQL方法汇总
2016/02/05 PHP
php处理单文件、多文件上传代码分享
2016/08/24 PHP
Laravel如何创建服务器提供者实例代码
2019/04/15 PHP
php和C#的yield迭代器实现方法对比分析
2019/07/17 PHP
PHP变量的作用范围实例讲解
2020/12/22 PHP
ASP.NET jQuery 实例13 原创jQuery文本框字符限制插件-TextArea Counter
2012/02/03 Javascript
jQuery循环滚动展示代码 可应用到文字和图片上
2012/05/11 Javascript
js 使用form表单select类实现级联菜单效果
2012/12/19 Javascript
javascript将DOM节点添加到文档的方法实例分析
2015/08/04 Javascript
JS模拟实现Select效果代码
2015/09/24 Javascript
jquery判断输入密码两次是否相等
2020/04/22 Javascript
原生js代码实现图片放大境效果
2016/10/30 Javascript
详解angularjs 关于ui-router分层使用
2017/06/12 Javascript
js指定日期增加指定月份的实现方法
2018/12/19 Javascript
从0到1构建vueSSR项目之路由的构建
2019/03/07 Javascript
JS实现选项卡效果的代码实例
2019/05/20 Javascript
js+html实现周岁年龄计算器
2019/06/25 Javascript
如何在node环境实现“get数据解析”代码实例
2020/07/03 Javascript
vue data变量相互赋值后被实时同步的解决步骤
2020/08/05 Javascript
python执行等待程序直到第二天零点的方法
2015/04/23 Python
python遍历 truple list dictionary的几种方法总结
2016/09/11 Python
Python数据分析中Groupby用法之通过字典或Series进行分组的实例
2017/12/08 Python
python3 pandas 读取MySQL数据和插入的实例
2018/04/20 Python
Scrapy使用的基本流程与实例讲解
2018/10/21 Python
python 判断参数为Nonetype类型或空的实例
2018/10/30 Python
Python修改文件往指定行插入内容的实例
2019/01/30 Python
PIL对上传到Django的图片进行处理并保存的实例
2019/08/07 Python
Python 中list ,set,dict的大规模查找效率对比详解
2019/10/11 Python
如何运行带参数的python脚本
2019/11/15 Python
python字典和json.dumps()的遇到的坑分析
2020/03/11 Python
python+selenium+chromedriver实现爬虫示例代码
2020/04/10 Python
事业单位分类改革实施方案
2014/03/21 职场文书
安全资料员岗位职责范本
2014/06/28 职场文书
小学国庆节活动方案策划书
2014/09/16 职场文书
家长对孩子的寄语
2015/02/26 职场文书
Python 中 Shutil 模块详情
2021/11/11 Python