Помощь » База знаний » Фото »
GD и Imagick — это два независимых друг от друга расширения PHP для работы с графикой.
Основные функции работы с изображениями в WebAsyst Фото реализованы на основе использования этих расширений. Для работы скриптов WebAsyst Фото на веб-сервере (хостинге) должно поддерживаться хотя бы одно из этих расширений — либо GD, либо Imagick. В разделе «Настройки» сервиса WebAsyst Фото есть возможность выбора какое из расширений использовать для работы с изображениями.
Оба расширения функционально схожи, однако Imagick дает более качественный результат во всех основных операциях:
Примеры созданных эскизов (обратите на качество мелких деталей в этих эскизах; это эскиз размером 256 пикселей, созданный WebAsyst Фото в случае использования GD и Imagick на одном и том же сервере; применение фильтра резкости включено):
![]() | ![]() |
| GD | Imagick |
Замечание насчет GD:
Тесты показывают, что GD использует большие объемы памяти при работе с большими изображениями. Так, например, при ограничении на сервере memory_limit = 64M в настройках PHP GD успешно создает эскизы и применяет фильтр резкости sharpen для фотографий размером не более 6 мегапикселей (3008х2000 пикселей). Для 10-мегапиксельных фотографий такого объема уже не хватает.
Если ограничение на вашем сервере меньше (например, 32М), то, скорее всего, вам потребуется уменьшать размеры фотографий на вашем компьютере до загрузки их на сервер с помощью клиентских программ.
Imagick использует меньшее количество памяти: при ограничении в 64М 10-мегапиксельные фотографии обрабатывались сервером без превышения ограничения по размеру памяти.
Опыт показывает, что на большинстве хостинг-провайдеров поддерживается только расширение GD, а Imagick не поддерживается. Тем не менее, рекомендуем для WebAsyst Фото выбирать хостинг, поддерживающий расширение Imagick (рекомендуем хостинг WebAsyst).
При работе WebAsyst Фото как веб-сервиса на наших серверах мы используем Imagick.
Скрипт проверки GD и Imagick. Для того, чтобы проверить, поддерживаются ли расширения GD и Imagick вашим сервером, правильно ли срабатывают функции применения фильтра резкости, мы написали простой скрипт. Скачайте его (64 КБ), скопируйте в пустую папку на вашем сервере (например, в папку image-test) и запустить через браузер (например, http://www.yourdomain.ru/image-test/index.php). Этот скрипт определит, поддерживаются ли расширения GD и Imagick, и попробует применить фильтр резкости к демонстрационному изображению.