Показать полную графическую версию : [решено] ImageMagick: как его установить и пользоваться?
мне нужно подрезать загруженные изображения, делать watermark, и превьюшки, как сделать на php через GD я знаю
но на хостинге ограничение оперативки 16Мб, и GD при обработке изображений более 1800x1200 не работает, а нужно загружать изображения по 8Мпикселей
наверно этот ImageMagick только хостинг может установить?
В принципе - да. Уточнять лучше у хостера. Только нужно ещё расширение для работы с ним. Но его вроде можно подгрузить самостоятельно.
Можно посмотреть? :)
ImageMagick, действительно, потребляет на порядок меньше памяти. Он установлен на всех серверах хостинга, путь к утилитам: /usr/bin (например, /usr/bin/convert). Также, для PHP версии 5.2.8 (в панели управления отображается как 5-testing) доступен модуль imagick.
Информацию о том, как пользоваться ImageMagick Вы можете найти на сайте http://php.net/ и на официальной странице проекта: http://www.imagemagick.org/script/command-line-tools.php .
вот чё техподдержка ответила
у меня сейчас PHP версии 5.2.4 стоит, нужно включить 5.2.8? который отображается как 5-testing
и ещё путь к утилитам: /usr/bin нигде на своём аккаунте FTP не могу найти, или это у них где-то установлено?
Насчёт версии не знаю, может и некритично. Оставь пока как есть.
Путь к утилитам это у них на сервере. Через фтп никак, да и не к чему. Вот только не знаю как насчёт путей, на Freebsd как то всё стандартно. Поставил, загрузил, используешь.
Ааа вот к чему это, у тебя получается 2 варианта, либо через расширение, либо напрямую через командную строку. Ну я выбрал первый вариант.
Пример через строку:
/usr/bin/convert rose.jpg rose.png
переделал скрипт загрузки и обработки изображений, сделал два варианта на Imagick и на GD
через командную строку незнаю как, т.к. запускать его надо в командной строке сервера, подключившись по протоколу ssh
а вот с помошью класса Imagick , оказалось даже проще чем GD
через командную строку незнаю как, т.к. запускать его надо в командной строке сервера, подключившись по протоколу ssh »
Нет, это exec, system - > http://ru2.php.net/manual/ru/book.exec.php
Кстати говоря, уменьшать картинки можно несколькими командами, разница по времени значительна. Сейчас не могу ничего сказать конкретно, хотя замеры делал.
по протоколу ssh Нет, это exec, system в техподдержке хостинга так написали
Кстати говоря, уменьшать картинки можно несколькими командами, разница по времени значительна »
если учесть что фотка грузится минуту на 1мбит/с, то наверно разницу будет не заметно
$image->resizeImage ($width,$height,imagick::FILTER_LANCZOS,1);
сначала хотел этой, но она сохраняет информацию и прочее, по крайней мере в больших фотках, в мелких обнуляет
а мне нужно как сохранить для web в фотошопе, чтобы информация обнулялась
поэтому пришлось использовать
$image->thumbnailImage($width,$height,false);
с последующей установкой качества, кстате результат пиксел в пиксел совпадает с $image->resizeImage ($width,$height,imagick::FILTER_LANCZOS,1);
может быть влияет, последующая установка качества, или в thumbnailImage используется такой же фильтр $image->resizeImage ($width,$height,imagick::FILTER_LANCZOS,1);
и почему-то при том же выходном весе превьюшек, GD делает более качественные мелкие превьюшки, чем imagick,
можно скомбинировать, но опять переписывать
Вот такими командами можно пользоватся.
$thumb -> resizeImage ($dstX, $dstY, Imagick::FILTER_LANCZOS, 1);
$thumb -> scaleImage ($dstX, $dstY);
$thumb -> thumbnailImage ($dstX, $dstY);
$thumb -> sampleImage ($dstX, $dstY);
и почему-то при том же выходном весе превьюшек, GD делает более качественные мелкие превьюшки, чем imagick,
можно скомбинировать, но опять переписывать »
Пример?
И какую фотку грузишь по минуте.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.