Конвертер imagemagick неожиданно меняет цвет фона

я пытаюсь добиться простой графики с веб-сервера и использовать imagemagick, чтобы изменить несколько цветов, чтобы затем я мог использовать этот образ.

Это часть изображения:

convert traffic.png -transparent "rgb(240,240,240)" traffic2.png convert traffic2.png -fill "rgb(200,200,200)" -opaque black traffic2.png convert traffic2.png -fill "rgb(200,200,200)" -opaque "rgb(0,200,0)" traffic2.png convert traffic2.png -fill "rgb(200,200,200)" -opaque "rgb(0,130,0)" traffic2.png convert traffic2.png -fill "rgb(200,200,200)" -opaque "rgb(150,150,255)" traffic2.png # convert traffic2.png -fill "rgb(200,200,200)" -opaque "rgb(0,0,255)" traffic2.png 

Проблема, с которой я столкнулась, – это строка, которая в настоящее время закомментирована. То, что должно было бы сделать, по моему мнению, изменить все вхождения этого синего на тот же серый, что и указано, но это также делает, но как только эта строка будет выполнена, ранее прозрачный фон превращается в сплошной цвет. Видя, как синтаксис одинаковый, я действительно не знаю, почему это происходит. Он отлично работает, когда я пытаюсь выполнить эти команды на своей локальной машине (OS X), но под Debian на моем малине Pi что-то похоже мешает.

  • конвертировать PDF в изображение
  • Способы конвертировать и комбинировать файлы изображений в файл PDF?
  • Граница с ImageMagick
  • ZSH: путь удаления, имя файла и расширение из списка файлов для соединения команды
  • pdf в JPG без потери качества; gscan2pdf
  • Как изменить размер изображений в соответствии со всем содержимым на минимальном холсте?
  • Как добавить невидимый водяной знак к изображениям в командной строке?
  • Устанавливается ImageMagick7-7.0.1.5 на FreeBSD 10.3, но после установки команды `import` нет
  • One Solution collect form web for “Конвертер imagemagick неожиданно меняет цвет фона”

    Я думаю, что ваша проблема, как мы обсуждали в комментариях по вашему вопросу, в частности, изменение, которое было сделано между IM 6.6.X и 6.7+. Ваши команды работали для меня на Fedora 14 и CentOS 5 и 6, но не на Ubuntu 12.10.

    • F14 (6.6.4-1 2011-11-03 Q16) – работал
    • CentOS 6 (6.5.4-7 2012-05-07 Q16) – работал
    • Ubuntu 12.10 (6.7.7-10 2012-08-17 Q16) не работал

    Я нашел этот бит в документации IM, озаглавленный: Примеры ImageMagick v6 – Основы цвета и каналы . Этот бросок – это то, что привлекло мое внимание в разделе: «Замена цветов в изображениях»:

    Однако с IM v6.2.7 этот оператор ограничен настройкой «-канала». Таким образом, чтобы преобразовать цвет (например, синий) в прозрачность, вам нужно указать «канал», чтобы включить альфа-канал, чтобы сделать прозрачные цвета. Вам также необходимо убедиться, что изображение имеет «матовый» или альфа-канал, чтобы сохранить информацию о прозрачности.

    С помощью этой новой информации я преобразовал вашу 6-ю команду в это:

     $ convert traffic2.png -transparent "rgb(0,0,255)" traffic2.png 

    И, похоже, он сработал. ОП подтвердил, что это решило его проблему!

    старая команда

    ss of bad traffic2.png

    новая команда

    ss of good traffic2.png

    Interesting Posts

    отправка электронной почты в командной строке: ошибка «550 псевдонимов»

    Что требуется POSIX для цитирования здесь документов внутри подстановки команд?

    Не удалось добавить репозиторий PPA из терминала

    Используйте EncFS для шифрования файлов, чтобы конкретный пользователь или процесс мог получить к ним доступ, но root не может

    Разница между резервными суперблоками

    Получение ошибочной ошибки проверки подлинности в openldap

    Как отложить сценарий bash, пока не будет достаточно простаивающих ядер для его запуска?

    Как эффективно использовать рамки видео

    Как сравнить две метки времени?

    WGET – проверка подлинности root и всех дочерних папок

    Получение липкого фонового терминала, работающего на рабочем пространстве bspwm в полноэкранном режиме

    Альтернативы не работают хорошо для установки Java на Centos 6.4

    ps пользовательский выход в RHEL 6.2

    «Sudo service uwsgi restart» возвращает , однако журналы uwsgi показывают, что процессы были созданы и запущено приложение python

    Как удалить «блокировку» из удаленных, но все еще используемых файлов в Linux?

    Linux и Unix - лучшая ОС в мире.