Страницы

Поиск по вопросам

воскресенье, 8 декабря 2019 г.

Как сделать рваные края в ImageMagick?

#imagemagick


Нужно сделать рваные края на картинке, пример есть тут. Но сделать надо в ImageMagick
и независимо от того, какого размера изображение. Подскажите, как это можно реализовать.
    


Ответы

Ответ 1



1. bordereffects Эффект, который понадобился ув-му автору вопроса, например, в Greenshot называется Torn edge. Его можно добиться и при помощи нативных команд ImageMagick, см. пример на официальном сайте (к сожалению, он там только один). Однако писать придётся многовато. На мой взгляд, намного проще использовать скрипт для ImageMagick, называемый bordereffects. Да, на сайте с bordereffects присутствует огромное количество бесплатных скриптов — Fred's ImageMagick Scripts — упрощающих работу с ImageMagick. У пользователей Windows могут возникнуть проблемы с использованием скриптов, поскольку все они написаны под Linux/macOS. Как у меня получилось запустить bordereffects, см. в разделе 3. 2. Демонстрация 1. Ограничения в демонстрационных примерах демонстрируется простой запуск команд в Cygwin терминале, в примерах преобразование происходит только для одного изображения. 2. Torn edge Исходный файл SashaQueen.jpg: Эффект Torn edge в файле SashaMagic.jpg: bordereffects -s 25 -d 1 -c 10 -g 1 -p 1 SashaQueen.jpg SashaMagic.jpg Оптимальные значения опций различны в зависимости от размеров изображений. 3. Примеры опций bordereffects Значения опций, кроме той, о которой идёт речь, остаются такими же, как в примере с Torn edge. -d — density. При больших значениях (в примере -d 50) изображения будут выглядеть так: -g — granularity. При больших значениях (в примере -g 50) изображения будут выглядеть так: -c — curviness. При небольших значениях (в примере -с 1) изображения будут выглядеть так: Подробные описания команд и больше примеров смотрите на сайте bordereffects. 3. Запуск Fred's ImageMagick Scripts в Windows В Cygwin на примере bordereffects. Для остальных скриптов действия примерно те же. 1. Программно-аппаратное окружение Протестировано лично на Windows 10 64-bit Enterprise LTSB EN, ImageMagick 7.0.4-3 Q16 x64 2017-01-07, Cygwin 2.6.1, cyg-get 1.2.1. Для запуска в 64-битных Windows можно использовать и Bash для Windows, однако в Windows LTSB на момент написания данного сообщения Bash не поддерживается. 2. Установка и настройка Устанавливаем Cygwin и cyg-get. Скачиваем bordereffects с официального сайта в папку, которая есть в пользовательской переменной PATH или же добавляем папку с bordereffects в пользовательскую переменную PATH — это удобно делать через Rapid Environment Editor. Открываем файл bordereffects в любом продвинутом текстовом редакторе → делаем, включив поиск/замену регулярными выражениями замену \bconvert\b — magick, поскольку в Windows есть нативная команда convert, → делаем замену \bidentify\b — magick identify → сохраняем файл. 3. Работа в Cygwin Открываем терминал Cygwin — для запуска команд Cygwin нужен специализированный терминал, обычной консолью Windows не обойтись; я запускаю его ярлыком Cygwin64 Terminal из Wox. В терминале Cygwin перемещаемся в папку, где лежат изображения, которые необходимо преобразовать, → проверяем, что всё работает, запуском команды bordereffects, например, bordereffects SashaQueen.jpg SashaMagic.jpg. Если в консоли появляются сообщения, что какая-то команда из скрипта bordereffects не запускается, в предпочтительном для Вас терминале для Windows (уже не в терминале Cygwin) набираем команду cyg-get. Синтаксис: cyg-get firstpackage secondpackage thirdpackage. Например, после запуска bordereffects выяснилось, что у меня отсутствовала утилита bc → установил её командой cyg-get bc. При установке bc вручную с сайта GnuWin у меня возникали баги, связанные с этим интерпретатором, поэтому рекомендовал бы устанавливать недостающие команды через пакетный менеджер cyg-get.

Комментариев нет:

Отправить комментарий