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

 更新时间:2014年07月08日 11:03:25   投稿:junjie  
这篇文章主要介绍了PHP实现生成透明背景的PNG缩略图函数分享,需要的朋友可以参考下

之前在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 数组基本操作方法详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-06-06
  • YII Framework框架使用YIIC快速创建YII应用之migrate用法实例详解

    YII Framework框架使用YIIC快速创建YII应用之migrate用法实例详解

    这篇文章主要介绍了YII Framework框架使用YIIC快速创建YII应用之migrate用法,详细分析了migrate的功能与用法,并给出创建登录后台的实例讲述了migrate的相关使用技巧,需要的朋友可以参考下
    2016-03-03
  • PHP操作mysql数据库分表的方法

    PHP操作mysql数据库分表的方法

    这篇文章主要介绍了PHP操作mysql数据库分表的方法的相关资料,需要的朋友可以参考下
    2016-06-06
  • Yii查询生成器(Query Builder)用法实例教程

    Yii查询生成器(Query Builder)用法实例教程

    这篇文章主要介绍了Yii查询生成器(Query Builder)用法,包括了各种常见的查询操作,需要的朋友可以参考下
    2014-09-09
  • 一个php Mysql类 可以参考学习熟悉下

    一个php Mysql类 可以参考学习熟悉下

    慢慢研究吧,非常适合学习的php数据库(mysql)类,也可以拿来直接就用,稍微熟悉一下就可以啦!
    2009-06-06
  • ThinkPHP2.x防范XSS跨站攻击的方法

    ThinkPHP2.x防范XSS跨站攻击的方法

    这篇文章主要介绍了ThinkPHP2.x防范XSS跨站攻击的方法,实例分析了ThinkPHP2.x针对XSS跨站攻击的防范技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-09-09
  • ThinkPHP开发--使用七牛云储存

    ThinkPHP开发--使用七牛云储存

    本文是thinkphp开发系列文章中关于使用七牛云储存的方法和具体实例,非常的简单,有需要的小伙伴可以参考下
    2017-09-09
  • 在laravel框架中使用model层的方法

    在laravel框架中使用model层的方法

    今天小编就为大家分享一篇在laravel框架中使用model层的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • php根据身份证号码计算年龄的实例代码

    php根据身份证号码计算年龄的实例代码

    我们只要知道身份证的生成规则就可以了,像下面我们从指定位置到多少位就是出日期了,然后我们把日期转成时间戳然后进行加减运算就得出了年龄了,下面我们看实例
    2014-01-01
  • php数组删除元素示例

    php数组删除元素示例

    在某个数组中删除一个元素,我是直接用的unset,也不管unset之后会发生什么。但今天看到的东西却让我大吃一惊,并不是我想象的那样,我用示例来说明
    2014-03-03

最新评论