Раскрасить изображение, сохраняя прозрачность с помощью PIL?

Хорошо здесьСитуация:

Я хочу использовать библиотеку изображений Python для "тема» изображение как это:

Цвет темы: "#33B5E5"

В: ИЗ:

Я получил результат, используя эти команды с ImageMagick:

convert image.png -colorspace gray image.png
mogrify -fill "#33b5e5" -tint 100 image.png
Объяснение:



Изображение сначала преобразуется в черно-белое, а затем тематическое.

Я хочу получить тот же результат с библиотекой изображений Python. Но, кажется, яу меня возникли некоторые проблемы с его использованием, так как:

Не может справиться с прозрачностьюФон (прозрачность в основном изображении) тоже становится тематическим.

Я пытаюсь использовать этот скрипт:

import Image
import ImageEnhance

def image_overlay(src, color="#FFFFFF", alpha=0.5):
    overlay = Image.new(src.mode, src.size, color)
    bw_src = ImageEnhance.Color(src).enhance(0.0)
    return Image.blend(bw_src, overlay, alpha)

img = Image.open("image.png")
image_overlay(img, "#33b5e5", 0.5)

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

извините за публикацию так много вопросов в одном вопросе, но я не могбольше ничего не делать: $

Надеюсь, вы все понимаете.

Ответы на вопрос(2)

Ваш ответ на вопрос