Arhn - архитектура программирования

Измените цвет изображения с помощью imagemagick

Я хочу изменить цвета переднего плана изображения с помощью rmagick / imagemagick. Чтобы быть более конкретным: я хочу преобразовать черный или белый glyphicons-halflings (которые включены в загрузочную страницу twitter) в темно-синие значки глификонов-халфлингов. (Было бы неплохо, если бы я мог указать шестнадцатеричный цвет или цвет RGB.)

Я понятия не имею, возможно ли это вообще, но я просмотрел документацию imagemagick и единственное, что я нашел, это convert --size 100x100 xc:skyblue glyphicons-halflings.png -composite foo.png, проблема в том, что это работает только тогда, когда вы указываете размер и что он меняет цвет переднего плана, а не цвет фона. К тому же он небесно-голубой, а не темно-синий.

Итак, кто-нибудь, у кого есть идея, как я могу преобразовать белые или черные глификоны-халфлинги в значки синих глификонов-халфлингов? (Бонусные баллы за фрагменты кода rmagick / ruby)


  • Не обещайте бонусные баллы, если не можете их доставить ... :-) 18.10.2012
  • Единственные бонусные баллы, которые вы можете поставить на SE, называются «наградой» :-) 18.10.2012
  • Привет, @ micheal-perr, пожалуйста, посмотрите мой ответ. Решает ли это вашу проблему? Пожалуйста, дайте мне знать. Att 30.01.2013

Ответы:


1

Быстрый ответ:

convert glyphicons-halflings.png -alpha extract -background blue \
-alpha shape blue-glyphicons-halflings.png

blue-glyphicons-halflings.png

Примечание: вместо blue вы можете использовать любые именованные цвета, либо RGB, либо RGBA и т. Д. (См. http://www.imagemagick.org/script/command-line-options.php#fill).

Объяснение:

Мы «раскрашиваем» значки в два этапа:

  • Извлеките альфа-канал из иконок; (примечание: цвет оригинальных значков не имеет значения, мы извлекаем его альфа-канал)
  • Примените указанную выше маску к цветному фону по вашему выбору;

Для получения дополнительной информации прочтите следующие документы:

PS: Вышеупомянутое решение было исследовано при реализации jQuery ThemeRoller rewrite https://github.com/jquery/download.jqueryui.com/issues/77

14.01.2013

2

Из http://www.imagemagick.org/Usage/color_basics/#replace вы можете заменить все цвета в изображении, которые не darkblue с darkblue, с помощью следующей команды:

convert glyphicons-halflings.png -fill darkblue +opaque darkblue glyphicons-halflings.png

Если вы хотите сделать это на рубине, я бы рекомендовал использовать гем Minimagick https://github.com/minimagic/minimagick. который просто вызывает convert в командной строке. По моему опыту, не все функции были перенесены из командной строки в RMagick.

17.10.2012

3

В дополнение к ответу sguha - вот версия Ruby (хотя и для QuickMagick):

require 'quick_magick'
source = "images/source.png"
dest = "images/saved.png"
foreground = "0000ff" #hex code for your colour

QuickMagick.exec3("convert #{source} -fill \"##{foreground}\" +opaque \"##{foreground}\" #{dest}")
13.11.2013
Новые материалы

Коллекции публикаций по глубокому обучению
Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

Представляем: Pepita
Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

Советы по коду Laravel #2
1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

3 способа решить квадратное уравнение (3-й мой любимый) -
1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

Создание VR-миров с A-Frame
Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

Демистификация рекурсии
КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..