加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2020-12-13 22:40:54 所属栏目:PHP教程 来源:网络整理
导读:我想写一个例程,它将PNG图像路径作为参数,并将该图像转换为8位PNG图像.我需要使用 PHP GD库. 要将任何PNG图像转换为8位PNG,请使用此功能,我刚创建 函数convertPNGto8bitPNG() function convertPNGto8bitPNG ($sourcePath,$destPath) { $srcimage = imagecrea
我想写一个例程,它将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位)

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读