码迷,mamicode.com
首页 > 编程语言 > 详细

Python 练习册,每天一个小程序 -- 0000题

时间:2015-11-20 20:06:49      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:python练习题 python

    python入门后需要不断的练习才能加深印象,为了提升自己的python编码能力,特地找了一些python小例子进行练习,这个是原文地址:https://github.com/Yixiaohan/show-me-the-code 所有的题目都在这里。虽然不能做到每天一题,但是会做到有时间就做一道练习题。

    下面开始第一题:


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

技术分享

分析问题:

通过分析题目可以得知,本题是在图片上面进行的操作,应该是两个图层,一个是QQ头像(固定的),另外一个是红色数字(可变的),需要用到python的PIL模块来处理图像问题。

解决问题:

1 先贴上代码

#!/usr/bin/env python
# -*- coding: utf-8 -*-

from PIL import  Image,ImageDraw,ImageFont

def addNum(nub,filepath):
    img = Image.open(filepath)
    width,height = img.size
    fontSize = height/4
    draw = ImageDraw.Draw(img)
    #确定字体格式和字体大小
    ttFont = ImageFont.truetype(‘Arial.ttf‘,fontSize)
    #确定显示的 位置,数字,颜色,字体
    draw.text((width-fontSize,0),nub,(256,0,0),font=ttFont)
    del draw
    img.save(‘qq_addNub.jpg‘)
    img.show()
if __name__ == ‘__main__‘:
    addNum(‘4‘,‘qq.jpg‘)

2 代码解析

首先需要准备好一张图片,

然后,这里使用到了PIL模块的 Image,ImageDraw,ImageFont 三个模块,Image主要负责打开一个图片,ImageDraw负责绘制图形,ImageFont负责字体类型、大小等


本文出自 “一个奋斗的小运维” 博客,请务必保留此出处http://yucanghai.blog.51cto.com/5260262/1715170

Python 练习册,每天一个小程序 -- 0000题

标签:python练习题 python

原文地址:http://yucanghai.blog.51cto.com/5260262/1715170

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!