是否有一个PHP函数可以接受PNG-24的图像路径作为参数,然后在web浏览器上返回PNG-8版本?
例如,原始PNG-24的HTML代码是:
<img src="image/path/lorem.png">
然后这将在网络浏览器上返回PNG-8版本:
<img src="convert-png24-to-pnp8.php?image/path/lorem.png">
我想转换的PNG-24图像没有半透明像素,但有完全透明的像素。
基于SERPRO的上述答案,使用ImageMagick可以执行以下操作:
$image = new Imagick("mypng24.png");
$image->setImageFormat("png8");
header( "Content-Type: image/png" );
echo $image;
这是未经测试的,但应该会给你一些东西。ImageMagick可以导出的格式如下所示:http://www.imagemagick.org/script/formats.php
您可以使用ImageMagick转换图像。
将PNG-24转换为PNG-8:http://www.whoisgregg.com/imagemagick/index.html
如果你可以调用shell,那么你可以使用pngquant
来完成这项工作。这将(批量)为您将PNG-24转换为PNG-8。
http://pngquant.org/