2012-02-24 99 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