Я использую imagecreatetruecolor () для создания изображений PNG в PHP. Мне часто нужно увеличивать memory_limit с помощью ini_set () в зависимости от размера (размеры в пикселях) изображения.
До сих пор это было методом проб / ошибок относительно того, сколько памяти должно быть выделено на основе максимальных значений, которые я имею ожидая получить, но я знаю, что эти значения могут также прийти выше.
Все в изображении рисуется с помощью:
imagefill();
imagecolorallocate();
imagerectangle();
imagefilledrectangle();
imagettftext();
И окончательный результат через:
imagepng();
imagedestroy();
В настоящее время он установлен на 512 МБ, и он обрабатывает большинство ожидаемых максимальных размеров (3178 x 2878), но я стараюсь не перераспределять память, если рисую что-то очень маленькое.
Есть ли способ, который я могу использовать, чтобы взять размеры моего изображения в пикселях и рассчитать требуемую память, которая должна быть выделена? Очевидно, мне нужно добавить немного больше для обработки накладных расходов, но мне нужно выяснить, сколько памяти использует фактическое создание изображений.
Спасибо!
Задача ещё не решена.
Других решений пока нет …