Комментарии 14
По соображениям производительности, мы отказались от готовых реализаций ImageMagick в php и сделали обертку для консольной утилиты:
+ кушает меньше памяти
+ быстрее
+ нет необходимости ставить библиотеку
+ прост в использовании (работа через стек команд, некоторые команды объединяются, например draw, и выполняются за один проход одновременно с resize).
— невозможно реализовать все методы
— нет низкоуровневого доступа к bitmap
— необходимо наличие консольной утилиты на сервере
+ кушает меньше памяти
+ быстрее
+ нет необходимости ставить библиотеку
+ прост в использовании (работа через стек команд, некоторые команды объединяются, например draw, и выполняются за один проход одновременно с resize).
— невозможно реализовать все методы
— нет низкоуровневого доступа к bitmap
— необходимо наличие консольной утилиты на сервере
+2
Вы уверены, что в итоге это все сожрет меньше памяти, учитывая реализацию на разных платформах может порождаться новый процесс (ой как не быстро) или осуществлять загрузку в текущий процесс. Это никогда не будет быстрее, чем обратиться к функции, которая уже загружена в память.
Опять же в целях безопасности много где прикрыта возможность выполнять консольные команды.
Опять же в целях безопасности много где прикрыта возможность выполнять консольные команды.
-2
чем Imagick не обертка для imageMagick?
«обертку для консольной утилиты» и «нет необходимости ставить библиотеку» — это не на пхп ли вы реализовали ее?
Если да, то в производительности выигрыш весьма сомнителен, т.к. вызов внешних программ из пхп гораздо накладнее.
«обертку для консольной утилиты» и «нет необходимости ставить библиотеку» — это не на пхп ли вы реализовали ее?
Если да, то в производительности выигрыш весьма сомнителен, т.к. вызов внешних программ из пхп гораздо накладнее.
0
Imagick это обработка изображения непосредственно в памяти php, со всеми вытекающими. Консольная обертка это просто класс генерирующий команды для консоли.
Временем вызова внешней программы можно пренебречь, когда вам необходимо обрабатывать весомые изображения (12+ mb), узкое место здесь именно обработка.
Временем вызова внешней программы можно пренебречь, когда вам необходимо обрабатывать весомые изображения (12+ mb), узкое место здесь именно обработка.
0
Прошу прощения за предыдущий мой комментарий, это был ответ для Lachezis.
Хочу пояснить, что в статье я описал проблему, которая сейчас существует и один вариант ее решения. Я не пытался убедить всех, что Imagick это хорошо или плохо. Пусть каждый решит это для себя сам.
Хочу пояснить, что в статье я описал проблему, которая сейчас существует и один вариант ее решения. Я не пытался убедить всех, что Imagick это хорошо или плохо. Пусть каждый решит это для себя сам.
0
А что вы там делали, с чем GD не справился? Просто любопытно.
-1
Как легко установить imagick на последний денвер?
0
Установить Linux)))
А если серьезно, то первым делом скачать и установить ImageMagick. Вторым делом найти и установить как расширение php файл php_imagick.dll Однако нужно иметь в виду, что официальной версии для windows нет. Посмотрите по вашему вопросу здесь.
А если серьезно, то первым делом скачать и установить ImageMagick. Вторым делом найти и установить как расширение php файл php_imagick.dll Однако нужно иметь в виду, что официальной версии для windows нет. Посмотрите по вашему вопросу здесь.
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Расширяем класс Imagick