Как рассчитать объем памяти, необходимый для обработки изображения? - PullRequest
6 голосов
/ 10 марта 2011

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

Изображения, которые занимают больше памяти, - это изображения с более высоким разрешением.Им не нужно иметь большой размер в байтах.Например, для изображения размером 46 КБ с разрешением 4000x2500 и некоторыми прозрачными пленками (PNG) для его изменения потребовалось около 90 МБ.

Существует ли способ точного пересчета необходимой памяти?

Ответы [ 2 ]

3 голосов
/ 10 марта 2011

Как правило, эмпирическое правило: ширина x высота x 4 (rgba) как для исходного, так и для целевого изображения, и не забывайте об объеме памяти, который сам скрипт уже использовал.

0 голосов
/ 10 марта 2011

Используя библиотеку GD после загрузки файла, вы можете использовать getimagesize () .Затем вы можете проверить высоту и ширину, чтобы определить, хотите ли вы обработать его или вернуть ошибку, он также возвращает количество битов, используемых для каждого цвета, если вы также хотите это учесть.

Так что вашпроверка может быть на размер файла и размеры.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...