Командная строка для обрезки картинок Imagemagick - PullRequest
0 голосов
/ 28 апреля 2018

У меня есть веб-сайт для взрослых, и я хочу удалить водяные знаки с помощью команд Imagemagick. Я хотел бы показать вам то, что я хочу, в качестве наглядного изображения.

Исходное изображение поставляется с 278x140 (я могу изменить их)> Здесь

То, что я хочу, это что-то вроде этого> Это

В настройках ImageMagick по умолчанию в сценарии моего веб-сайта эта командная строка используется по умолчанию;

-modulate 110,102,100 -sharpen 1x1 -enhance 

и я добавил рядом с ним -gravity center -crop wxh+0+0 (я заполнил ширину и высоту в коде), но не сработало.

Я просто хочу, чтобы моя команда imagemagick обрезала меньший квадрат с середины.

Это мои настройки в админ-скрипте сайта.

После этого это мой экран с миниатюрами при редактировании контента

Когда я нажимаю «регенерировать», это не дает ошибки, оно говорит об успехе ;

Но ничего не меняется на экране редактирования контента после этого. Все те же миниатюры.

Ответы [ 2 ]

0 голосов
/ 29 апреля 2018

Используя Imagemagick 6.9.9.40 Q16 Mac OSX, я запустил вашу команду, заменив 1x1 на 0x1, и она работает просто отлично. Я взял вашу команду из вашего кода JPG.

Введите:

enter image description here


mogrify -modulate 110,102,100 -Sarpen 0x1 -Улучшение -Гравитационный центр -Crop 150x100 + 0 + 0 + repage OX5XX.jpg

Я не уверен, почему вы используете mogrify, если вы конвертируете только одно изображение за раз в цикле. Вы можете просто использовать конвертировать как

convert OX5XX.jpg -modulate 110,102,100 -sharpen 0x1 -enhance -gravity center -crop 150x100+0+0 +repage OX5XX.jpg


enter image description here

Я бы посоветовал вам сделать простую команду PHP, чтобы она выполнялась так же, как указано выше, и посмотреть, работает ли она. Если это так, то проблема в другом коде и, возможно, в использовании вами FFMPEG. Если это не работает, то это может быть ошибка в вашей версии Imagemagick.

Вы можете узнать версию Imagemagick по

<?php
exec("convert -version",$out,$returnval);
foreach($out as $text)
{echo "$text<br>";}
?>

Если это не удастся, найдите полный путь для конвертации через

<code><?php
echo "<pre>";
system("type -a convert");  
echo "
"; ?>
0 голосов
/ 28 апреля 2018

Без полной команды трудно сказать точно, где может быть ошибка, но с ImageMagick первой вещью, которую я попробую, будет та же самая команда, использующая «-extent wxh» вместо «-crop wxh + 0 + 0» для это.

...