美文网首页
python练习册-第0000题

python练习册-第0000题

作者: RJzz | 来源:发表于2017-07-20 00:22 被阅读22次

    Description

    将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似于微信未读信息数量那种提示效果。 类似于图中效果.


    一只小老鼠

    Analysis

    题目的目的应该是希望我们读入一张图片,然后在右上角使用Font模块贴一个数字.

    Solution

    首先,我们通过搜索引擎了解到python处理图像常用的library是PIL.下载其中某一版本后解压后可看到:

    PIL库

    其中Docs下有详细的文档,需要用到什么功能都可以去查一下便是,可以看到有一个selftest.py文件,打开有一些简单的上手教程。在本题中,我们需要学习的是打开一张图片,使用画笔在其上贴上一个数字。通过查阅文档可知,做到这个效果主要使用到了Image,ImageDraw,ImageFont。

    代码

    from PIL import Image
    from PIL import ImageDraw
    from PIL import ImageFont
    # 打开一张图片
    img = Image.open('./spider/0 (85).jpg')
    
    # 创建一个画笔
    draw = ImageDraw.ImageDraw(img)
    
    # 创建字体,第一个参数为字体文件,第二个字体大小
    ft = ImageFont.truetype("C:\\WINDOWS\\Fonts\\SIMYOU.TTF", 30)
    
    # 将字体画到图片的右上角 ,
    # 第一个参数是位置,第二个是内容,
    # 第三个设置字体,第四个是字体的颜色
    draw.text((img.width * 0.8, img.height * 0.2), u"4", font=ft, fill='red')
    
    # 显示图片
    img.show()
    
    

    最终效果

    完成效果

    这道题主要考察了python中常用的图像处理库PIL的运行,在处理实际问题时若遇到之前未使用过的功能,查阅文档即可。

    相关文章

      网友评论

          本文标题:python练习册-第0000题

          本文链接:https://www.haomeiwen.com/subject/zherkxtx.html