二、文字转成图片,图片上写字

文字转成图片:

from PIL import Image,ImageDraw,ImageFont
def text2Image(self):
        text = u"这是一段测试文本,test 123。"
 
        im = Image.new("RGB", (300, 50), (255, 255, 255))
        dr = ImageDraw.Draw(im)
        font = ImageFont.truetype(os.path.join("fonts", "msyh.ttf"), 14)
         
        dr.text((10, 5), text, font=font, fill="#000000")
         
        im.show()
        im.save("t.png")

图片上添加文字:

from PIL import Image,ImageDraw,ImageFont
def addText2Image(self):
        # get an image
        base = Image.open('image2.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 drawing context
        d = ImageDraw.Draw(txt)
        
        fnt = ImageFont.truetype(font='FreeMono.ttf', size=40)
        
        # draw text, half opacity
        d.text((10, 10), "Hello", font=fnt, fill=ImageColor.colormap['red'])
        # draw text, full opacity
        d.text((10, 60), "World", font=fnt, fill=ImageColor.colormap['salmon'])
        
        out = Image.alpha_composite(base, txt)

        out.show()

效果如下:
二、文字转成图片,图片上写字_第1张图片

参考文章:
Example: Draw Partial Opacity Text http://pillow.readthedocs.io/en/4.2.x/reference/ImageDraw.html#example-draw-partial-opacity-text

你可能感兴趣的:(日常随笔)