генерация миниатюры с большого изображения

mcfalu

Новичок
Есть достаточно банальная задача - автоматически создавать миниатюры после загрузки изображения.

Если пытаюсь загрузить достаточно большую картинку - на строке
$image = imagecreatefromjpeg($file); получаю
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 60126336 bytes)

размер картинки 1200x16000. Соответственно скрипту нужно около ~95мб для того чтобы создать объект.

В ответ на подобную ошибку ответ практически одинаковый - увеличить memory_limit.

Может есть какие-то php расширения которые позволяю читать файл не целиком в память, а частично.
Тогда бы можно было создавать миниатюру не с целого файла, а определённой его части.
 

WMix

герр M:)ller
Партнер клуба
вот как ты написал, так наверняка можно написать даже на php, но вот проблемка есть... jpg картинки они ужатые, я вот не очень уверен, что можно кусочек такого изображения прочесть. провести обратную трансформацию, чтоб создать миниатюрку..
pix это вообще алгоритм... и каждый, каждый формат таит в себе чтонить подобное.. интересоваться нужно...

те твой алгоритм годиться только для raw картинок, bmp, rgb,.. и что там еще существует....
и для таких вещей наверняка встроен подобный алгоритмик при увеличении изображения в каждом фотоаппарате кодак
 
Как вариант - использовать exif_thumbnail, но это если в картинке уже есть встроенная миниатюра. Вот тут еще есть разные решения, например конвертировать через ImageMagick, если он установлен на сервере.
 
  • Like
Реакции: WMix
Сверху