二、文字转成图片,图片上写字
博客专区 > ssshen 的博客 > 博客详情
二、文字转成图片,图片上写字
ssshen 发表于2个月前
二、文字转成图片,图片上写字
  • 发表于 2个月前
  • 阅读 1
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 十分钟定制你的第一个小程序>>>   

文字转成图片:

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")

图片上添加文字:

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()

效果如下: 输入图片说明

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

标签: Pillow
共有 人打赏支持
粉丝 2
博文 31
码字总数 10565
×
ssshen
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: