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实现小型站点广告管理(修正版)
Oct 09 PHP
用PHP实现将GB编码转换为UTF8
Nov 25 PHP
用PHP实现 上一篇、下一篇的代码
Sep 29 PHP
php微信公众开发之获取周边酒店信息的方法
Dec 22 PHP
PHP实现指定字段的多维数组排序函数分享
Mar 09 PHP
php备份数据库类分享
Apr 14 PHP
浅析PHP关键词替换的类(避免重复替换,保留与还原原始链接)
Sep 22 PHP
Yii中CGridView实现批量删除的方法
Dec 28 PHP
ThinkPHP中create()方法自动验证表单信息
Apr 28 PHP
使用Zttp简化Guzzle 调用
Jul 02 PHP
php 数据结构之链表队列
Oct 17 PHP
PHP+mysql实现的三级联动菜单功能示例
Feb 15 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上传图片进行等比缩放可增加水印功能
2014/01/13 PHP
php中session与cookie的比较
2015/01/27 PHP
PHP高并发和大流量解决方案整理
2019/12/24 PHP
为jquery.ui.dialog 增加“自动记住关闭时的位置”的功能
2009/11/24 Javascript
jtable列中自定义button示例代码
2013/11/21 Javascript
JavaScript中常见获取元素的方法汇总
2015/03/04 Javascript
向JavaScript的数组中添加元素的方法小结
2015/10/24 Javascript
深入理解Ajax的get和post请求
2016/06/02 Javascript
从零开始最小实现react服务器渲染详解
2018/01/26 Javascript
vux uploader 图片上传组件的安装使用方法
2018/05/15 Javascript
浅谈angular2子组件的事件传递(任意组件事件传递)
2018/09/30 Javascript
angular6的响应式表单的实现
2018/10/10 Javascript
js中的reduce()函数讲解
2019/01/18 Javascript
js实现图片局部放大效果详解
2019/03/18 Javascript
element-ui点击查看大图的方法示例
2020/12/14 Javascript
[08:08]2014DOTA2国际邀请赛中国区预选赛精彩TOPPLAY
2014/06/25 DOTA
Python获取linux主机ip的简单实现方法
2016/04/18 Python
利用python批量给云主机配置安全组的方法教程
2017/06/21 Python
python itchat实现微信自动回复的示例代码
2017/08/14 Python
三步实现Django Paginator分页的方法
2019/06/11 Python
Python使用Pandas库实现MySQL数据库的读写
2019/07/06 Python
详解Python对JSON中的特殊类型进行Encoder
2019/07/15 Python
python实现从ftp上下载文件的实例方法
2020/07/19 Python
python调用私有属性的方法总结
2020/07/24 Python
python自动提取文本中的时间(包含中文日期)
2020/08/31 Python
Django模型验证器介绍与源码分析
2020/09/08 Python
基于Html5 canvas实现裁剪图片和马赛克功能及又拍云上传图片 功能
2019/07/09 HTML / CSS
投资合作协议书
2014/04/17 职场文书
党支部创先争优活动总结
2014/08/28 职场文书
实训报告范文大全
2014/11/04 职场文书
小学教师个人总结
2015/02/05 职场文书
2016天猫双十一广告语
2016/01/28 职场文书
范文之农村基层党建工作报告
2019/10/24 职场文书
2019年公司快递收发管理制度模板
2019/11/20 职场文书
JavaWeb Servlet实现网页登录功能
2021/07/04 Java/Android
mysql5.6主从搭建以及不同步问题详解
2021/12/04 MySQL