`

PHP生成透明背景的PNG缩略图

    博客分类:
  • PHP
阅读更多

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

函数如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?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实现生成透明背景的PNG缩略图函数分享

    这一步是透明背景PNG图片处理的开始。 ```php $image=imagecreatefrompng($sourePic); ``` 接下来,重点在于保持图片的透明度。在PHP的GD库中,有两个关键的函数:imagesavealpha()和imagealphablending()。这两个...

    php 缩略图生成类

    在PHP中,生成缩略图是一项常见的任务,用于在网页上快速展示图片或者优化网站的加载速度。这里我们将深入探讨如何使用PHP的GD库和ImageMagick库来创建高效的缩略图生成类。 首先,GD库是PHP内建的一个图像处理库,...

    支持png透亮图片的php生成缩略图类分享_.docx

    这个类提供了一个方便的方法,使得开发者能够轻松地为PNG图像生成带有透明度的缩略图,而无需担心黑色背景填充或其他常见的透明度问题。 总结来说,这个PHP类通过改进的GD2库实现了对PNG透明图片生成缩略图的支持。...

    支持png透明图片的php生成缩略图类分享

    总的来说,这个PHP类提供了一种高效且灵活的方法来生成支持透明度的PNG缩略图,适用于各种应用场景。开发者可以根据需要调整参数,例如缩放比例、裁剪方式等,以满足特定需求。在实际项目中,结合这个类,可以轻松...

    php生成图片各种缩略图的类.zip

    这个"php生成图片各种缩略图的类"提供了一个高效且灵活的方法来处理这种任务。下面将详细介绍该类的工作原理、主要功能以及如何使用。 首先,这个类的核心功能是通过调整原始图片的尺寸,生成不同大小的缩略图。它...

    图片缩略图展示图片缩略图展示图片缩略图展示

    JPEG适用于照片,PNG适用于需要透明背景的图像,而WebP和AVIF等新格式在保持高质量的同时,可以提供更好的压缩效率。 8. 性能优化:为了提高加载速度,可以使用图片压缩工具(如TinyPNG)来减小文件大小,或者利用...

    PHP缩略图生成和图片水印制作

    ### PHP缩略图生成和图片水印制作知识点 ...在Web开发中,图片处理是一项...以上内容详细介绍了PHP生成缩略图和添加水印的方法和步骤,提供了相应的实现思路和代码示例。在实际应用中,可以根据具体需求进行调整和优化。

    PHP中使用Imagick读取pdf并生成png缩略图实例

    文章提到了其他相关主题,如PHP中图片格式的转换、使用Imagick生成PNG缩略图的不同方法、PHP处理图像的函数(如imagegif、imagejpeg和imagepng)、透明背景的处理以及SVG到PNG的转换等,这些都是在处理图像时可能会...

    PHP使用imagick读取PDF生成png缩略图的两种方法

    在本文中,我们将探讨如何使用PHP的`imagick`扩展来读取PDF文件并生成PNG缩略图。ImageMagick和php_imagick是关键工具,它们使得PHP具备处理多种图像格式的能力,包括从PDF中提取图像。 首先,我们了解ImageMagick...

    PHP基于GD库的缩略图生成代码(支持jpg,gif,png格式)

    同时,生成的缩略图会填充一个半透明的背景,确保在透明图像上不会显示不想要的背景颜色。 总结来说,这个PHP类使用GD库提供了一个高效且灵活的方法来创建图像缩略图,同时考虑了图像的宽高比和质量。在实际应用中...

    php生成验证码,缩略图及水印图的类分享

    在PHP中,生成验证码、缩略图和水印图是常见的图像处理任务,这些功能可以用于网站的安全验证、图片展示优化以及品牌标识等用途。以下是一个封装好的PHP类,它包含生成验证码、缩略图和水印图的方法,我们将详细讨论...

    PHP支持多种格式图片上传(支持jpg、png、gif)

    每种格式都有其特定的特性:例如,JPEG格式通常用于照片或颜色丰富的图像,而PNG格式则常用于网页图形或需要透明背景的图片。GIF格式支持动画,并且它的颜色数有限,适合制作简单的动画。 在描述中,作者提到了实现...

    php多功能图片处理类分享(php图片缩放类)

    通常这种操作用于创建缩略图或调整图片到合适的显示尺寸。 2. 水印添加: 该PHP类能够为图片添加水印。当水印图片的尺寸超过了目标图片时,类内部机制会自动调整水印的尺寸,使其能够适应目标图片的尺寸并添加到...

    头像压缩切割上传

    PNG适用于图形和透明背景的图像,它提供无损压缩;GIF则适用于动画和有限色数的图像。在编程中,可以使用各种库来实现图片压缩,如Python的Pillow库或JavaScript的sharp库。 2. **图片切割**:图片切割是根据需求将...

    图片上传-可以限制图片的大小和类型

    - **缩略图生成**:对于大量图片,生成缩略图可以减少存储空间,加快页面加载速度。 综上所述,限制图片上传的大小和类型是保障系统稳定、提升用户体验以及维护安全的重要措施。在实现这一功能时,需要从前端到...

    两个强悍的php 图像处理类1

    - 自动裁切是根据原图的尺寸,裁切出最大的正方形图片,并按目标尺寸进行缩略。 - 手工裁切是指定裁切的起点坐标以及裁切的宽度和高度,从原图中取得指定区域的图片。 3. 添加水印 在图片上添加水印是另一种常见...

    海盗电商(Haidao)开源网店系统 v1.12.4.150911 beta.zip

    [修复] 后台上传png格式的透明图生成的缩略图背景为黑色的问题 [修复] 编辑广告时未显示之前保存的广告类型信息 [修复] 编辑导入商品时造成的缩略图保存为undefined的问题 [修复] 第三方登录后回调页面提示文字...

Global site tag (gtag.js) - Google Analytics