2012-02-24 94 views
0

是否有可以接受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图像没有半透明像素,但具有完全透明的像素。

回答

0

大厦上面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

+0

谢谢你的信息:) – 2012-04-12 09:40:32

0

如果你能叫出壳那么你可以使用pngquant做的工作。这将(批量)将PNG-24s转换为PNG-8s。

http://pngquant.org/

+0

谢谢。但是,这种方法目前超出我的能力。 – 2012-04-11 00:25:30

+0

OK,看起来ImageMagick的很呢。我将在示例代码中添加另一个答案。 – 2012-04-11 08:51:18