Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在使用PIL Python向图像添加文本后保留图像的原始颜色?_Python_Image_Text_Python Imaging Library - Fatal编程技术网

如何在使用PIL Python向图像添加文本后保留图像的原始颜色?

如何在使用PIL Python向图像添加文本后保留图像的原始颜色?,python,image,text,python-imaging-library,Python,Image,Text,Python Imaging Library,我正在尝试使用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

我正在尝试使用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')
但我丢失了图像的原始颜色,请参见下面的图像

我怎样才能保持原来的颜色


谢谢

对我来说,这看起来像是PIL中的一个bug。我认为这是因为您的图像被调色板化,而
draw.text()
正在弄乱调色板

对于解决方案,可以在打开RGB图像时将其转换为RGB图像,以避免调色板问题。更改为:

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