Estou tentando extrair o tamanho de uma imagem PNG de um fluxo de dados
Considere os dados iniciais do fluxo
137 80 78 71 13 10 26 10 0 0 0 13 73 72 68 82 0 0 2 84 0 0 3 74 8 2 0 0 0 195 81 71 33 0 0 0 ...
^ ^ ^ ^ ^ ^
que contém as seguintes informações
- assinatura:
137 80 78 71 13 10 26 10
- Pedaço IHDR de:
- comprimento
0 0 0 13
- tipo
73 72 68 82
- dados
0 0 2 84 0 0 3 74 8 2 0 0 0
- crc:
195 81 71 33
- comprimento
- então um novo pedaço começa.
As informações sobre o tamanho da imagem são codificadas nos 8 bytes do bloco de dados :
- largura
0 0 2 84
ou em bytesb'\x00\x00\x02T'
- altura
0 0 3 74
ou em bytesb'\x00\x00\x03J'
.
Sei que a imagem tem largura de 596
px e altura de 842
px, mas não consigo descobrir como calcular o tamanho real da imagem.
PS os valores são fornecidos em Python e aqui o fluxo de dados está em formato binário
b'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x02T\x00\x00\x03J\x08\x02\x00\x00\x00\xc3QG!\x00\x00\x00\tpHY'