Por que o tamanho da imagem e a memória são necessários para exibi-lo de forma diferente?

-1

Aprendi com um postagem de estouro de pilha que a memória necessária para exibir uma imagem e o tamanho da imagem é igual a

4 * image dimensions

Eu tenho algumas imagens 800x800 e vejo que seu tamanho é de cerca de cem KB, o que eu acho bastante pequeno. Mas, de acordo com a fórmula acima, é necessário mais de 2MB para exibi-lo!

A postagem SO diz que, como o bitmap está usando cores ARGB, cada pixel requer 4 bytes de espaço de armazenamento. Então é por isso que a fórmula é 4 * dimensões da imagem. Mas vejo que apenas 100 KB de espaço são necessários para armazenar a imagem!

O computador usa um método diferente para armazenar a imagem? 1 pixel ainda precisa de 4B para ser armazenado? Como isso está acontecendo?

    
por Sweeper 23.11.2015 / 14:18

3 respostas

3

O IrfanView pode ajudar a visualizar rapidamente a memória usada:
(veja o cálculo da memória)

WIDTH x ALTURA x (BITS POR PIXEL) = memória necessária para carregar a imagem completa

Felicidades!

    
por 16.12.2015 / 11:24
2

Sua imagem está compactada (por exemplo, com jpeg ou png ). Se você armazenasse a imagem em um formato descompactado ( tiff sem zip compactação), você também obteria esse tamanho no disco.

    
por 23.11.2015 / 14:29
2

A memória necessária para armazenar uma imagem pode ser menor que a memória necessária para exibi-la. Por exemplo, se a imagem for um retângulo verde de 80 x 80, você poderá armazená-la como o equivalente a "80 por 80 retângulo verde". Mas, para exibi-lo, você precisa de 1600 pontos verdes, cada um deles ocupando algum espaço.

    
por 23.11.2015 / 14:38