Слава Україні!

Создание уменьшенных копий изображений

Функция на php для создания уменьшенных копий изображений
11-го травня 2014, 1:05
Несмотря на богатство набора функций, предоставляемых в PHP для работы с изображениями, простого инструмента для создания уменьшенных копий-превьюшек среди них нет. Предлагаемая функция позволяет решать эту задачу в одно действие. Функция работает с изображениями формата GIF, JPEG и PNG (при желании можно расширить этот список, насколько это позволяет библиотека GD, на основе которой построена работа предлагаемой функции). В качестве входных аргументов она принимает: - путь к исходному изображению - путь к будущей маленькой копии (включая имя файла) - ширину копии - высоту копии - качество для изображений в формате jpeg: 0 - 100, по умолчанию - 75 (подробнее см. руководство функции imagejpeg() на php.net) При желании высоту можно не передавать — функция сама рассчитает её и сделает изображение тех же пропорций, что и исходное. Если передать нулевую ширину — также будет сделано изображение тех же пропорций, но уже на основании высоты: // пусть файл $imgpath - изображение 800х600 image_resize($imgpath, $preview, 100); // будет создано изображение $preview 100х75 image_resize($imgpath, $preview, 0, 100); // а так $preview получится 133х100 Если пропорции переданных ширины и высоты отличаются от исходных, новое изображение окажется искажено, поэтому лучше использовать один из вышеперечисленных вариантов. Также нужно озаботиться тем, чтобы исходный файл уже существовал (при обращении к несуществующему файлу функция сгенерирует warning), и чтобы у веб-сервера имелись права на запись в то место, куда хочется поместить уменьшенную копию (иначе также будет warning). Для jpeg-изображений функция выполняет чересстрочное формирование, благодаря чему изображение создаётся в формате progressive JPEG и начинает отображаться в браузере до окончания полной загрузки с постепенным увеличением качества (подробнее см., например, на php.net). Ниже приводится непосредственно код функции.

Важлива інформація

Міністерство оборони
України
з 24.02 по 08.11
втрати противника
орієнтовно склали:
1150100 ( +1190 ) особового складу
11330 ( +0 ) танків
23544 ( +1 ) бойових бронемашин
34321 ( +20 ) артилерійських систем
1538 ( +3 ) РСЗВ
1239 ( +1 ) засоби ППО
428 ( +0 ) літаків
347 ( +1 ) гелікоптерів
66795 ( +72 ) автомобільної техніки
28 ( +0 ) кораблі / катери
3918 ( +0 ) крилаті ракети
78928 ( +250 ) БПЛА
3993 ( +0 ) спец. техніки
4 ( +0 ) установок ОТРК/ТРК
1 ( +0 ) підводні човни