Как сохранить исходные цвета изображения после добавления к нему текста с помощью PIL Python? - PullRequest
1 голос
/ 21 февраля 2020

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

from PIL import Image
from PIL import ImageFont
from PIL import ImageDraw 
import sys

image = Image.open('image.png')
draw = ImageDraw.Draw(image)
font = ImageFont.truetype('arial',40)
draw.text((700, 470),'Text',(0,0,0),font=font)
img.save('out-image.png','PNG')

Но я потерял исходные цвета изображения, см. Изображения ниже,

Исходное изображение

После добавления текста

Как сохранить исходные цвета.

Спасибо

1 Ответ

1 голос
/ 21 февраля 2020

Для меня это похоже на ошибку в PIL. Я думаю, это потому, что ваше изображение палитрировано, а draw.text() испортило палитру.

Для временного решения вы можете преобразовать изображение RGB при открытии, чтобы избежать проблем с палитрой. Изменить на это:

image = Image.open('image.png').convert('RGB')
...