在Python2.7中使用PIL将文本写入图像
编辑: 代码工作,但我有在Python2.7中使用PIL将文本写入图像,python,image-processing,text,python-imaging-library,image-manipulation,Python,Image Processing,Text,Python Imaging Library,Image Manipulation,编辑: 代码工作,但我有 draw.text((30,10), "Hello World", (255, 255, 255, 255),font=font) 它把“你好世界”写成白色。如果你把它改成 draw.text((30,10), "Hello World", (255, 255, 255, 255),font=font) 输入代码“Hello world”将以黑色书写 我有一个python脚本,试图将“Hello World”写入jpg图像,但当我保存文件时,没有写入任何文本,有什么
draw.text((30,10), "Hello World", (255, 255, 255, 255),font=font)
它把“你好世界”写成白色。如果你把它改成
draw.text((30,10), "Hello World", (255, 255, 255, 255),font=font)
输入代码“Hello world”将以黑色书写
我有一个python脚本,试图将“Hello World”写入jpg图像,但当我保存文件时,没有写入任何文本,有什么想法吗?
我正在使用Python2.7和Pillow
我还查看了以下文档:
代码:
我还注意到,在保存图像时,颜色会变成灰度,这是为什么呢?下面的代码对我很有用,但我使用了python 3和png。我将图像与代码放在同一个目录中,然后在图像上写入一个文本
from PIL import Image, ImageDraw, ImageFont
# get an image
base = Image.open('lena.png').convert('RGBA')
# make a blank image for the text, initialized to transparent text color
txt = Image.new('RGBA', base.size, (255,255,255,0))
# get a font
fnt = ImageFont.truetype('Pillow/Tests/fonts/FreeMono.ttf', 40)
# get a drawing context
d = ImageDraw.Draw(txt)
# draw text, half opacity
d.text((100,100), "Hello", font=fnt, fill=(255,255,255,128))
# draw text, full opacity
d.text((100,160), "World", font=fnt, fill=(255,255,255,255))
out = Image.alpha_composite(base, txt)
out.show()
我没有字体,但它似乎也可以与python 2.7和jpg图像一起使用,就像您的代码一样(但我没有字体)
与您的代码(使用my Ubuntu16.04)最相似的是以下代码,它也会在图像上呈现文本
from PIL import Image
from PIL import ImageDraw
from PIL import ImageFont
pattern = Image.open("DANK.jpg", "r").convert('RGBA')
size = width, height = pattern.size
draw = ImageDraw.Draw(pattern,'RGBA')
font = ImageFont.truetype("Pillow/Tests/fonts/FreeMono.ttf", 100)
draw.text((300,10), "Hello World", (0, 0, 0, 0),font=font)
pattern.save('sample-out.jpg')
嗨,我意识到我犯了错误,我让draw.text((30,10),“Hello World”(0,0,0,255),font=font)用白色而不是黑色书写。谢谢你的帮助。
from PIL import Image
from PIL import ImageDraw
from PIL import ImageFont
pattern = Image.open("DANK.jpg", "r").convert('RGBA')
size = width, height = pattern.size
draw = ImageDraw.Draw(pattern,'RGBA')
#font = ImageFont.truetype("Font.ttf", 3)
draw.text((30,10), "Hello World", (0, 0, 0, 0))#,font=font)
pattern.save('sample-out.jpg')
from PIL import Image
from PIL import ImageDraw
from PIL import ImageFont
pattern = Image.open("DANK.jpg", "r").convert('RGBA')
size = width, height = pattern.size
draw = ImageDraw.Draw(pattern,'RGBA')
font = ImageFont.truetype("Pillow/Tests/fonts/FreeMono.ttf", 100)
draw.text((300,10), "Hello World", (0, 0, 0, 0),font=font)
pattern.save('sample-out.jpg')