Ограничения формата файла в пикселях для изображений PNG?

Есть ли ограничение на размер файла в формате PNG?

Я пытаюсь визуализировать PNG-изображение размером 30 000 x 30 000 пикселей с помощью Firefox, но получаю ошибку. Изображение открывается правильно в Preview.app, хотя и очень медленно. Размер файла не большой, всего около 3 МБ (1-битное черно-белое изображение). Мне интересно, есть ли техническая причина формата файла для этого.

2 ответа

Решение

Наивная реализация изменения размера потребует увеличения размера изображения до 2,7 ГБ перед его отображением. Это было бы явно слишком большим для обычной 32-битной программы.

Спецификация PNG не накладывает никаких ограничений на ширину и высоту изображения; это 4-байтовые целые числа без знака, которые могут быть до 4294967295. http://www.libpng.org/pub/png/spec/iso/index-object.html

Это странное изображение, но я уверен, что есть причина иметь такое огромное изображение.

Я действительно не могу решить ограничение размера, но я могу найти способ обойти это. Создайте набор плиток определенного размера, а затем, когда пользователь прокручивает, отображайте плитки, используя CSS, чтобы правильно расположить их. Возможно, вам даже удастся поднять все плитки сразу, с помощью множества небольших изображений.

Но мне любопытно, какому приложению нужно такое огромное изображение, отображаемое без масштабирования?

Erick

Другие вопросы по тегам