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

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

下面开始第一题:

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

687474703a2f2f692e696d6775722e636f6d2f736732646b75592e706e673f31

分析问题:

通过分析题目可以得知,本题是在图片上面进行的操作,应该是两个图层,一个是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负责字体类型、大小等

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值