PNG 檔案似乎包含透明像素的背景顏色資訊。當使用該圖像作為具有錯誤設定的紋理時,有時這種情況會變得很明顯。
如何在 Linux(最好是命令列)中找出 PNG 檔案中透明像素的顏色是什麼?
答案1
背景顏色透過 PNG“bKGD”塊傳達。
在命令列中,您可以使用“pngcheck -v”。從以下位置下載並安裝 pngcheck
http://www.libpng.org/pub/png/apps/pngcheck.html
然後輸入
pngcheck -v file.png
如果 bKGD 區塊存在於 PNG 檔案中,pngcheck 的輸出將包含以下內容:
區塊 bKGD 位於偏移 0x000a0,長度 6 紅色 = 0x00e0,綠色 = 0x00e0,藍色 = 0x0080
您可能已經擁有 ImageMagick(版本 6.6.9 或更高版本),因此您還可以透過鍵入以下內容來獲取 bKGD 區塊資訊以及許多其他內容
identify -verbose file.png
並尋找
背景顏色:srgba(224,224,128,1)
png:bKGD:找到區塊(請參閱上面的背景顏色)
如果只出現“背景顏色”,但未出現“png:bKGD:...”,則標識正在報告 ImageMagick 的預設背景顏色,且 PNG 檔案中不存在 bKGD 區塊。