php 函式 imagecolorallocate() 無法顯示正確的顏色?

php 的 imagecolorallocate() 函式可以指定顏色輸出至圖片,只需要設定想要的顏色 RGB 數值就好。

最近編輯到一個小程式,使用 php 的 imagecreatefrompng() 讀取一個 png 圖檔,加上一些文字之後再輸出圖檔到網頁,而文字的顏色用 imagecolorallocate() 來設定,但是怎麼更改數值,顏色就是不會變成我指定的,而且會一直顯示為同一個顏色。

Google 了很久沒有找到類似問題的解決辦法,結果以 “php imagecolorallocate not working” 為關鍵字時,找到一個論壇討論串,看到裡面有人回覆說圖檔是否為 GIF 或 8-bit PNG,這才讓我恍然大悟,竟然是這個小問題… =.=”

後來把圖檔改成 PNG-24 就正常了,所以以後如果遇到圖檔顏色怎麼調都不對,注意一下是不是 GIF 或 PNG-8 圖檔吧~


相關連結:PHP imagecolorallocation producing incorrect color?