【发布时间】:2014-12-14 21:24:48
【问题描述】:
查看PNG specification,似乎PNG像素数据块以IDAT开头并以IEND结尾(解释稍微清晰here)。中间是对我来说没有意义的价值观。
如何在不使用任何库(即来自原始二进制文件)的情况下从中获取可用的 RGB 值?
例如,我在 Photoshop 中制作了一个 2x2px 的图像,其中包含 4 个黑色 rgb(0,0,0) 像素:
这是结果数据(在原始二进制输入、十六进制值和人类可读的 ASCII 中):
BINARY HEX ASCII
01001001 49 'I'
01000100 44 'D'
01000001 41 'A'
01010100 54 'T'
01111000 78 'x'
11011010 DA '\xda'
01100010 62 'b'
01100000 60 '`'
01000000 40 '@'
00000110 06 '\x06'
00000000 00 '\x00'
00000000 00 '\x00'
00000000 00 '\x00'
00000000 00 '\x00'
11111111 FF '\xff'
11111111 FF '\xff'
00000011 03 '\x03'
00000000 00 '\x00'
00000000 00 '\x00'
00001110 0E '\x0e'
00000000 00 '\x00'
00000001 01 '\x01'
10000011 83 '\x83'
11010100 D4 '\xd4'
11101100 EC '\xec'
10001110 8E '\x8e'
00000000 00 '\x00'
00000000 00 '\x00'
00000000 00 '\x00'
00000000 00 '\x00'
01001001 49 'I'
01000101 45 'E'
01001110 4E 'N'
01000100 44 'D'
【问题讨论】: