如何使用PHP GD库将PNG转换为8位PNG

前端之家收集整理的这篇文章主要介绍了如何使用PHP GD库将PNG转换为8位PNG前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想写一个例程,它将PNG图像路径作为参数,并将该图像转换为8位PNG图像.我需要使用 PHP GD库.
要将任何PNG图像转换为8位PNG,请使用此功能,我刚创建

函数convertPNGto8bitPNG()

function convertPNGto8bitPNG ($sourcePath,$destPath) {

     $srcimage = imagecreatefrompng($sourcePath);
     list($width,$height) = getimagesize($sourcePath);

     $img = imagecreatetruecolor($width,$height);
     $bga = imagecolorallocatealpha($img,127);
     imagecolortransparent($img,$bga);
     imagefill($img,$bga);
     imagecopy($img,$srcimage,$width,$height);
     imagetruecolortopalette($img,false,255);
     imagesavealpha($img,true);

     imagepng($img,$destPath);
     imagedestroy($img);

 }

参数

> $sourcePath – 源PNG文件的路径
> $destPath – 目标PNG文件的路径

注意

我建议在运行此代码之前确保$sourcePath存在且$destPath是可写的.也许此功能不适用于某些透明图像.

用法

convertPNGto8bitPNG ('pfc.png','pfc8bit.png');

示例(原始 – > 8位)

(来源:pfc.png)原始的PNG图像

(目的地:pfc8bit.png)CONVERTED PNG IMAGE(8位)

希望有人觉得这很有帮助.

猜你在找的PHP相关文章