作者grassboy2 (活力花俏草兒仔政﹞O花俏)
看板PHP
標題[請益] GD函數 256色GIF --> 全彩PNG
時間Mon Aug 10 01:55:21 2009
嗯嗯…問題如標題所示…
小弟最近弄了一個網頁,
裡面有牽涉到圖片轉換 & 合成…
想說要把user傳來的gif jpg png 全轉成 png
但後來發覺事情沒拿麼簡單…
首先就是透明的GIF檔…
我試著將他和一張png檔合成時…
原本透明的背景就變黑了…
小弟試了一下…
發覺有可能是因為GIF是256色色盤的緣故…
可能是因此在和全彩PNG合成時,產生什麼錯誤造成透明效果失效…
因此小弟試著想要把GIF轉成全彩的png…
但是…在進行轉換的過程中,透明效果就失效了0rz...
如下列的網址所示:
http://grassboy2.twbbs.org/www/why/gd.php?type=1 原本的GIF檔
http://grassboy2.twbbs.org/www/why/gd.php?type=2 試著轉換後的PNG檔
如果只是把原本的GIF檔轉成256色PNG(上列網址type=3的狀況)好像又正常@@~
但只要一與全彩PNG合成透明就失效了…
有人之前處理過類似的問題嗎?感覺應該是GIF的透明機制與PNG不同…
但知道問題…不知如何解決啊><~
先感謝大家的回答了m(_ _)m
---
http://grassboy2.twbbs.org/www/why/gd.phps 這篇文章提的php的原始碼
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.87.174
推 j87b0003 :倒是好奇透明部份抓出來的值和png的值是一樣的嗎.. 08/10 02:04
推 akiratw :試試看用imagesavealpha() 08/10 08:13
推 tkyifang :我只用過少少幾次gd,感覺上很多圖片處理 loadfrom... 08/10 20:22
→ tkyifang :load載入進來後,是以自己的格式在做後續處理(加字,等 08/10 20:23
→ tkyifang :感覺上都是bmp。bmp有透明這東西嗎 沒有 所以轉存後 08/10 20:24
→ tkyifang :變黑感覺很正常..其他圖形處理也都是這種感覺 08/10 20:24
→ tkyifang :以上言論只是感覺...沒徹底研究不負責 08/10 20:25
→ tkyifang :不只透明,多圖檔tif 載入進來(轉成bmp?) 應該也是會 08/10 20:27
→ tkyifang :少掉些資訊.. 08/10 20:27
→ tkyifang :我只用過幾次gd(php),幾次載入圖案到canvas後處理 08/10 20:29
→ tkyifang :(vc,bcb),用過2個bcb/delphi處理圖形元件. 08/10 20:30
→ tkyifang :需要才用 用完就算 只是感覺載入好像都已經失去資料 08/10 20:31