Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Графика > GD2 не сжимает картинки рамером больше 850x850!


Автор: Elfet 18.11.2005, 22:37
GD2 не сжимает картинки рамером больше 850x850!!!

Меньшем размером сжимает, а начиная с 850х850 - нет!!! Просто прерываеться скрипт! Белая страница! И никаких ошибок! (вывод поставлен) Замечено на хостинге Wowы smile

smile smile

Автор: Mal Hack 18.11.2005, 23:09
Значит не хватает времени на обработку картинки или размер картинки больше чем половина разрешонной памяти, которуйю может использовать скрипт.

Автор: Elfet 18.11.2005, 23:22
Wowa, говорит не в этом дело smile
Добавлено @ 23:26
Оооо! Поле долгих пыток, смог выжать ошибку:
Цитата
Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 4000 bytes) in /srv/www/htdocs/web6/html/ips_kernel/class_image.php on line 363

На линии 363 находиться функция imagecreatefromjpeg

Автор: Mal Hack 18.11.2005, 23:32
Цитата(Elfet @ 18.11.2005, 23:22)
Оооо! Поле долгих пыток, смог выжать ошибку:


Цитата(Mal @ 18.11.2005, 23:09)
размер картинки больше чем половина разрешонной памяти

именно это.

Автор: Wowa 18.11.2005, 23:40
Цитата(Elfet @ 18.11.2005, 21:22)

На линии 363 находиться функция imagecreatefromjpeg

8Mb не достаточно, чтобы сжать картинку размеров в 30Кб? Или сколько там ты мерял.


Цитата(Elfet @ 18.11.2005, 21:22)
Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 4000 bytes) in /srv/www/htdocs/web6/html/ips_kernel/class_image.php on line 363

Раз получил такое сообщение, то проблема в этом конечно, но это странно.

Автор: Elfet 19.11.2005, 12:38
угу, люблого размера, но если размер картинки больше 850х850 - то здесь ошибка.

Автор: MuToGeN 21.11.2005, 15:19
Для 850*850 при rgb c 8 битами на канал нужно ~16 МБ памяти. Чтобы работать с изображением, GD должна храниить его в памяти как BMP без компрессии.

Автор: Elfet 21.11.2005, 19:20
А с 16 какой максимальный размер?

Автор: MuToGeN 22.11.2005, 11:48
Оно вычисляется по формуле ширина * высота * кол-во каналов * кол-во бит на 1 канал
Насчет 16и МБ ошибся - это 16 Мбит, соответственно, 2 МБ.
С 16b/канал, размерами 850 * 850 имеем 5.5 МБ при RGBA (4 канала) и 4.1 МБ при RGB (3 канала).
В обоих случаях в 8 МБ уложиться можно.

Автор: Elfet 22.11.2005, 23:10
А кто-нибудь с IPB 2.1.3 работал? Может там просто несколько картинок создаётся? И тп и тд? Тобишь ещё память берётся?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)