是否有可以接受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