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

Хорошо, вот ситуация:

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

Цвет темы:swatch showing tint color "#33B5E5"

В:http://mupload.nl/img/olpiyj9is.png ИЗ:http://mupload.nl/img/fiaoq6gk5.png

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

convert image.png -colorspace gray image.png
mogrify -fill "#33b5e5" -tint 100 image.png
Explanation:


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

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

Can not handle transparency Background (transparency in main image) gets themed too..

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

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)

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