| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > imagecreatetruecolor потребляет памяти |
| Автор: ArNic 9.2.2010, 13:56 | ||||
использую такую функцию на хостинге:
Для безопасности ресайзю и оригинальные картинки перед заливкой (которые превышают размер 2000 пикс.) Получаю на выходе
Т.к. скрипт на хостинге. Я не могу выделить больше памяти. читал посты http://forum.vingrad.ru/topic-233887.html http://forum.vingrad.ru/topic-139412.html Вопрос : Что откорректировать в функции, чтобы память не жрало так много. |
| Автор: Fortop 9.2.2010, 15:36 |
1. Уменьшить линейные размеры изображения. 2. не использовать цвета TrueColor (пользоваться обычным imagecreate) |
| Автор: Ипатьев 9.2.2010, 15:42 | ||
как это?
И получить на выходе бяку. Это не вариант |
| Автор: Fortop 9.2.2010, 15:47 |
не пытаться обрабатывать картинки 1000*1000 или 2000 пикселей как у ТС. Ограничится теми размерами которые помещаются в имеющуюся память. Да, не вариант. Я не посмотрел что идет именно ресайз. Есть еще один вариант. Как палиатив - можно пользоваться существующими image-хостингами как сервисами и переложить функцию ресайза (а возможно и хранения) картинок на них. |
| Автор: Ипатьев 9.2.2010, 15:57 |
Если речь идет о том, чтобы привести картинку 3000х3000 к размеру 2000х2000, и ошибка вылетает уже на создании новой картинки, а даже не на ресайзе, то ничего. можно вызвать imagemagick через system() я только не понял, при чем здесь безопасность |
| Автор: skyboy 9.2.2010, 15:59 |
| если использовать для ресайза imgemagick, то там можно http://www.imagemagick.org/script/command-line-options.php#limit используюмую для ресайза память. |
| Автор: IgorIV 9.2.2010, 20:52 |
Боится, что в комментариях в картинке можно написать вредный код, который потом исполнится на сервере. |