每天一个小程序——第 0000 题:添加角标数字
2016-09-12 11:25
260 查看
开新坑,找到一个Python练习册:
https://github.com/Yixiaohan/show-me-the-code
题目练手不错。
第0000题:将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似于微信未读信息数量那种提示效果。
效果如下:
*这边还考虑了另一个方式就是采用图片叠加的方式来做
效果如下:
https://github.com/Yixiaohan/show-me-the-code
题目练手不错。
第0000题:将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似于微信未读信息数量那种提示效果。
# -*- coding: utf-8 -*- """ 第 0000 题:将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似于微信未读信息数量那种提示效果。 """ from PIL import Image, ImageFont, ImageDraw def img_add_num(size=100,num=1): # 打开图片 im = Image.open('my.jpg') # 读取图片的大小 w, h = im.size # truetype(字体(优先读取文件位置,没有则去系统字体库中查询),大小(要求为int)) my_font = ImageFont.truetype('ALGER.TTF', size) # 定义一个实例(或者说画布),意思是在im上开始作画 my_draw = ImageDraw.Draw(im) # text((横坐标,纵坐标),内容,字体,颜色) # hint:这边的num需要是一个可迭代的值,所以需要从int转换成str。 my_draw.text((w*4//5,h-(h*4//5)), str(num), font = my_font, fill = 'red') # 保存图片 im.save('my_2.jpg') if __name__ == '__main__': img_add_num(50,5) # 网上找的答案: # def img_add_num(num=1): # img = Image.open('my.jpg') # w, h = img.size # print (w, h) # font = ImageFont.truetype('arial.ttf', w // 10) # draw = ImageDraw.Draw(img) # draw.text((w*3//4, 50), str(num), font=font, fill='yellow') # img.save('img2.jpg')
效果如下:
*这边还考虑了另一个方式就是采用图片叠加的方式来做
def image_com(): m1 = Image.open('num.png') m2 = Image.open('my.jpg') # 往m2中插入m1,坐标可以是一个点,也可以是一个方块,如果是方块,尺寸要和被插入的图片一致! m2.paste(m1,(1000,50)) # m2.paste(m1,(450,450,500,500)) m2.save("0000_method_1.jpg") if __name__ == '__main__': image_com()
效果如下:
相关文章推荐
- Python 练习册,每天一个小程序----------000 图片右上角加上红色的数字
- Python 练习册,每天一个小程序-第 0000 题
- java程序:在排序好的数组中添加一个数字,将添加后的数字插入到数组合适的位置。怎么写啊?
- 1.每天一个java小程序之猜数字游戏
- 写一个去除AI2XAML注释及多余数字位数的WPF窗体程序
- 给Swing程序添加一个动态显示内存情况的状态条
- 一个c#上传的程序,可以生成缩略图也可以自由添加水印效果
- 6/27 一个简单的员工管理程序:添加微软成员资格数据表
- 一个比较简单的,只做了正数,一万位以内的,阿拉伯数字转换成大写数字的程序
- [每天一个demo]用c#实现简单的上传文件程序
- 一个基于对话框的程序添加了许多控件,但是无法建立对应的成员变量
- 一个奇怪的错误:类型“ControlBase”在未被引用的程序集中定义。必须添加对程序集“App_Code.xxxx, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null”的引用。
- 关于VC6中基于对话框的程序,往Combox 添加一个CComboBox变量,然后程序编译运行,窗口不出现的问题
- ASP中一个很不错的四位数字验证码生成代码 - [ASP程序]
- 今天写了一个通过switch进行添加,修过,显示,删除程序,发上来大家看看,哈哈,并且用了smarty模版
- C#编写的winform程序绑定comboBox成功,添加一个默认的文字选项"请选择"
- 一个用来给文件列表添加绝对路径的程序
- 如何在一个基于对话框的程序中添加 Menu 菜单
- 一个程序员每天自动运行的程序
- 一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字