PHP использование IMAGEMAGICK или Imagick или Magicwand
Я использую Imagemagick ( http://www.imagemagick.org/)
Так как я на хостгаторе, у меня также установлены imagick и magickwand.
Я могу делать простые манипуляции с imagick и magickwand, но если я хочу воспроизвести продвинутые учебники на imagemagick.org, у меня ничего не получается.
Цель:сделать это работающим http://www.imagemagick.org/Usage/advanced/
Вопросы:
Как я могу сделать это с помощью imagick или magickwand?
Могу ли я как-то также общаться с модулем imagemagick через командную строку, как exec(....)?
Спасибо 4 короткая помощь
3 ответа
Хорошо. Решение с использованием команд командной строки прямо таково:
exec ("/ usr / lib / конвертировать пользователя /set/seinfeld/image/image/data/apple_cinema_30.jpg -edge .5 -blur 0x.5 jaw_ege.png");
поэтому очевидно, что вы должны знать путь к модулю и правильно указать путь к изображениям (а).
обновит при необходимости инструкции для imagick / magickwand.
Вы можете использовать exec() или shell_exec().
Например:
exec('/path/to/your/imagick/convert jigsaw_tmpl.png -edge .5 -blur 0x.5 jigsaw_edge.png');
Еще одно напоминание, exec()
не будет работать в безопасном режиме PHP.
Я думаю, что работать в Imagick сложно - не говоря уже о том, что это невозможно - и, как сказано выше, лучшим вариантом будет командная строка Imagemagick и exec(). Создайте его по одной команде за раз; Вы можете комбинировать команды позже. Не используйте jpg для любых промежуточных изображений, так как вы начнете терять качество.
Это зависит от того, какой эффект вы получите после того, как у Энтони есть сценарий Bash, который вы могли бы использовать в нижней части этого раздела страницы.
Вы можете запустить это с помощью php с помощью exec: выгрузить скрипт на сервер CHMOD его на 755 или 777 в зависимости от настроек вашего сервера
// Run the script
exec("/FULL PATH TO JIGSAW/jigsaw options input.jpg mask.png output.png 2>&1", $array);
//Display any errors
echo "<br>".print_r($array)."<br></pre>";
Я не знаю, будет ли это работать на учетной записи Hostgator, но я не могу понять, почему нет.
Также я не пробовал это, и вам нужно изображение маски, чтобы идти с вашим входным изображением.
Я только что попробовал это на моем сервере и получил ошибку: /bin/bash^M: плохой интерпретатор: Нет такого файла или каталога. Это ничего не значит для меня!
Создание одного фрагмента с использованием изображений и кода Энтони с помощью командной строки Imagemagick и exec ()
exec("convert jigsaw_tmpl.png -edge .5 -blur 0x.5 jigsaw_edge.png");
$cmd = " holocaust_md.jpg \( jigsaw_edge.png -negate \) -geometry +365+96 ".
" -compose multiply -composite -crop 100x100+365+96 +repage ";
exec("convert $cmd jigsaw_outline.png");
$cmd = " holocaust_md.jpg -crop 100x100+365+96! -background none -flatten ".
" +repage \( jigsaw_tmpl.png +matte \) -compose CopyOpacity -composite ".
" -rotate -20 -gravity center -crop 100x100+0+0 +repage ";
exec("convert $cmd jigsaw_cutout.png");
$cmd = " jigsaw_cutout.png \( +clone -channel A -separate +channel -negate ".
" -background black -virtual-pixel background -blur 0x2 -shade 120x21.78 ".
" -contrast-stretch 0% +sigmoidal-contrast 7x50% -fill grey50 -colorize 10% ".
" +clone +swap -compose overlay -composite \) -compose In -composite ";
exec("convert $cmd jigsaw_bevel.png");
$cmd = " jigsaw_bevel.png \( +clone -fill DarkSlateGrey -colorize 100% -repage +0+1 \) ".
" \( +clone -repage +1+2 \) \( +clone -repage +1+3 \) \( +clone -repage +2+4 \) ".
" \( +clone -repage +2+5 \) -background none -compose DstOver -flatten";
exec("convert $cmd jigsaw_thickness.png");
$cmd = " jigsaw_thickness.png \( +clone -background Black -shadow 50x3+4+4 \) ".
" -background none -compose DstOver -flatten";
exec("convert $cmd jigsaw_shadow.png");