У меня есть зеленая фоновая картинка с тенями. Я хотел бы использовать его в качестве маски, чтобы я мог разместить его на фоне любого цвета (например, красного или розового) и получить тот же стиль теней.
Я попытался преобразовать его в оттенки серого и изменить непрозрачность до 20%, но это привело к более темному изображению.
Я использую это на веб-странице, где администратор может установить цвет шаблона. Затем я использую что-то вроде этого в CSS:
background: #557d0d url("img/background.png") center center;
Использование Gimp 2.8.6 в Ubuntu.
Вы можете обесцветить изображение с помощью Colors > Desaturate...
. Затем используйте Colors > Color to Alpha...
для устранения серого цвета, который делает его темнее ( #808080
).
Установите непрозрачность на 40%, и это должно сработать.
Я только что провел небольшой тест на созданном мной веб-сайте:
Вы не можете точно воспроизвести изображение, используя только замаскированный слой оттенков серого на сплошном цветном фоне, поскольку оттенок зеленого цвета также меняется по вертикальному градиенту.
Вы можете приблизиться к этому, просто выбрав один из средних зеленых оттенков в середине изображения с помощью инструмента «Пипетка», увеличив его насыщенность и значение и сделав этот цвет прозрачным с помощью инструмента «Слой» → «Прозрачность» → «Цвет в альфа-канал » . Однако это оставит ваш слой с цветовыми оттенками вверху и внизу, что вам может не понадобиться.
Лучшим решением может быть разложение изображения на оттенок, насыщенность и значение (HSV), отбрасывание канала оттенка и преобразование каналов насыщенности и значения в маску оттенков серого, которую можно наложить поверх любого чистого насыщенного цвета, чтобы воспроизвести насыщенность и яркость. значение исходного изображения с новым оттенком.
Один из способов сделать это:
Используйте инструмент «Цвета» → «Компоненты» → «Разложить...» , чтобы разложить изображение на слои с использованием режима HSV.
Удалите слой оттенка. Мы не будем его использовать.
Выберите слой насыщенности, откройте диалоговое окно Слой → Маска → Добавить маску слоя... , выберите режим «Оттенки серого копия слоя» и установите флажок «Инвертировать маску».
Повторите шаг 3 для слоя значений.
Используя инструмент заливки ведро (в режиме «Заполнить все выделение»), залейте слой значений ( не его маску!) полностью черным цветом, а слой насыщенности — полностью белым.
Переместите слой значений над слоем насыщенности в стеке.
При желании объедините слои вместе с помощью Image → Merge Visible Layers... или Layers → Merge Down .
Полученное полупрозрачное изображение в градациях серого должно выглядеть так:
Нажмите, чтобы скачать/просмотреть в полном размере.
Хитрость в том, что после шагов 3–5:
Размещение этих двух слоев (или их объединенной комбинации) поверх чистого насыщенного цвета фона затем повторяет процесс преобразования цвета HSV в RGB: вы начинаете с чистого насыщенного цвета правильного оттенка, смешиваете достаточное количество белого, чтобы получить желаемый насыщенность, а затем добавьте достаточное количество черного, чтобы получить желаемое значение.
Вот как выглядит полученное изображение на разных цветных фонах:
Цвета: зеленый ( #83ff00
), синий ( #00aeff
), оранжевый ( #ffa200
), красный ( #ff002a
).
В Gimp вы можете сделать то же самое, что и в фотошопе, используя цвет для альфы . Я бы порекомендовал по-прежнему обесцвечивать, а затем устанавливать белый цвет на альфа-канал, если у вас есть более одного цвета. Похоже, есть какая-то сине-желтая вариация. Ключевые шаги:
Способ 1:
Image > Calculations
и используйте канал, который вы выбрали в качестве источника 1, тот же канал или «Серый» в качестве источника 2 и «Нормальный» в качестве режима наложения. Выберите «Новый документ» в качестве места назначения.Способ 2:
Ctl/Cmd-щелкните миниатюру выбранного вами канала.
Edit > Copy
или Ctl/Cmd-C
File > New
, принять размеры Edit > Paste
или Ctl/Cmd-V
Удалите фоновый слой.
Image > Mode > RGB
Сохранить как 24-битный png с прозрачностью.
Вы можете использовать любое из полученных изображений в качестве наложения или в качестве альфа-канала, когда это необходимо.
Дважды щелкните слой, появится окно стиля слоя, слева найдите и выберите «Наложение градиента» и измените цвет градиента в соответствии с вашими потребностями и нажмите «ОК», затем в поле «Наложение градиента» измените стиль на линейный и измените угол и масштаб в соответствии с ваша потребность.
Таккат
hue-rotate
для изменения цвета не вариант? См. stackoverflow.com/questions/17721960/… или stackoverflow.com/questions/12546499/…