IrfanView can help to quickly view the used memory:
(see the memory calculation)
WIDTH x HEIGHT x (BITS PER PIXEL) = memory needed to load the full image
Cheers!
Из сообщения о переполнении стека я узнал, что память, необходимая для отображения изображения и его размера, равна
4 * image dimensions
У меня есть около 800x800 изображений, и я вижу, что его размер составляет около ста КБ, что, я думаю, довольно мало. Но согласно приведенной выше формуле для его отображения требуется более 2 МБ!
В сообщении SO говорится, что поскольку растровое изображение использует цвета ARGB, каждому пикселю требуется 4 байта дискового пространства. Вот почему формула 4 * размеры изображения. Но я вижу, что для хранения изображения требуется всего 100 КБ!
Использует ли компьютер другой метод для сохранения изображения? 1 пиксель все еще нуждается в 4B, чтобы быть сохраненным? Как это происходит?
IrfanView can help to quickly view the used memory:
(see the memory calculation)
WIDTH x HEIGHT x (BITS PER PIXEL) = memory needed to load the full image
Cheers!
Ваше изображение сжато (например, с помощью jpeg
или png
). Если вы сохраните изображение в несжатом формате ( tiff
без zip
сжатия), вы также получите этот размер на диске.
Память, необходимая для хранения изображения, может быть меньше памяти, необходимой для его отображения. Например, если изображение представляет собой зеленый прямоугольник 80x80, его можно сохранить как эквивалент «зеленого прямоугольника 80 на 80». Но для его отображения вам понадобится 1600 зеленых точек, каждая из которых будет занимать определенное место.