我正在通過W3 PNG規範(從零開始創建一個PNG庫),並且我終於找到了如何創建一個綠色的1x1圖像。PNG IDAT規範
現在我試圖創建混合紅色,綠色和藍色像素的更大圖像。假設一張4x4圖片。可悲的是我得到的所有像素混合,其中一些是黑色或粉紅色。
詳細說明:
- 簽名:行
- IHDR:OK
- 寬度:4
- 嗨:4
- 位深度:8
- 顏色:2
- 篩選:0
- 壓縮:0
- 隔行:0
- IDATA:4塊*
- IEND:OK
* IDATA塊:
- 4個字節長度:字節數Zlib泄氣後的DATA數據
- 4 * 1字節類型:IDAT
- X字節數據:4 * 4字節的無符號整數,zlib的放氣時,一個接一個地,網絡字節順序
- 255用於藍色**
- 65280綠色**
- 16711680後用於紅色**
- 4個字節的CRC:OK
**按位的結果:
alpha<<24 | red<<16 | green<<8 | blue
使用alpha,藍色,綠色和紅色取值從0到255
這是什麼問題?
這個問題被交叉發佈到DSP,所以我複製了我的答案。 –