是否有可以接受PNG-24作为参数的图像路径,然后在Web浏览器返回一个PNG-8版本的PHP函数?使用PHP在浏览器重新渲染PNG-24 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图像没有半透明像素,但具有完全透明的像素。
是否有可以接受PNG-24作为参数的图像路径,然后在Web浏览器返回一个PNG-8版本的PHP函数?使用PHP在浏览器重新渲染PNG-24 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
感谢。在第一个链接的许多类中,我没有找到转换为PNG-8的类。你能为我指出吗? – 2012-02-24 17:15:41
如果你能叫出壳那么你可以使用pngquant
做的工作。这将(批量)将PNG-24s转换为PNG-8s。
谢谢。但是,这种方法目前超出我的能力。 – 2012-04-11 00:25:30
OK,看起来ImageMagick的很呢。我将在示例代码中添加另一个答案。 – 2012-04-11 08:51:18
谢谢你的信息:) – 2012-04-12 09:40:32