【Python基础系列】每天一个小程序-01

题目

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

参考代码

from PIL import Image, ImageDraw, ImageColor, ImageFont

def add_num(img):
    draw = ImageDraw.Draw(img)
    font1 = ImageFont.truetype('/System/Library/Fonts/Apple Symbols.ttf', size=40)
    fillcolor = ImageColor.colormap.get('red')
    width, height = img.size
    draw.text((width-30, 0), '1', font=font1, fill=fillcolor)
    #在新建对象上的(width-30, 0)处开始画红色的“1”
    img.save('result.jpg', 'jpeg')
    return 0

if __name__ == '__main__':
    image = Image.open('test.jpg')
    add_num(image)

代码分析

PIL(Python Image Library),Python平台的图像处理标准库。

  • 打开图片Image.open()
  • 保存图片img.save()
  • 获取图片尺寸width, height = img.size

ImageDraw模块提供图像对象的简单2D绘制。

  • 创建Draw对象draw = ImageDraw.Draw(img)

ImageFont模块的truetype函数

  • 使用方法:ImageFont.truetype(file,size)
  • 作用:加载一个TrueType或者OpenType字体文件,并且创建一个字体对象。这个函数从指定的文件加载了一个字体对象,并且为指定大小的字体创建了字体对象。

ImageColor

  • PIL.ImageColor 包含两个将字符串转换为颜色值的函数 getrgb() 与 getcolor().
  • 颜色名称作为参数传入, 允许的名称定义在 PIL.ImageColor.colormap 中
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值