一. 简介:

  Python3图片处理头像右上角类似QQ,微信右上角未读信息效果,其实没有实质作用,只是简单练习。

  1. 环境:

    python3.5

    random模块:生成随机数

    PIL模块:图像处理模块

      Image: 载入图片

      ImageFont: 载入字体

      ImageDraw: 创建图片对象

  注意: PIL模块在python3.X已经替换为pillow模块(文档:http://pillow.readthedocs.org/en/latest/),直接使用pip3 install pillow即可安装模块,导入时使用from PIL import Image.

  

  2. 效果图:

二. 代码实现:

from PIL import Image, ImageFont, ImageDraw

import random

msgNum = str((random.randint(1, 99))) #生成随机数

im = Image.open('test.jpg')  #载入图片
w, h = im.size #获取图片宽度和高度
wdraw = 0.8*w #定义数字坐标
hdraw = 0.05*h fron = ImageFont.truetype('xiaoxiangzi.ttf', 30) #载入数值的字体及大小 draw = ImageDraw.Draw(im) #创建图像
draw.text((wdraw, hdraw), msgNum, font=fron, fill=(255, 33, 33))
#定义图像格式
#(wdraw, hdraw):坐标
#msgNum: 随机数
# font: 自定义字体及大小
# fill:定义颜色,可以为数字格式也可以直接指定英文如:fill="red" im.save('test2.png', 'png')#指定格式保存生成图像即可,

  

Python3图片处理头像的更多相关文章

  1. jQuery拖动剪裁图片作为头像

    图片上传是许多网站的一个常用的功能,有时需要对上传的图片做初步的选择裁剪,比如上传头像.下面就是一个使用HTML5+jQuery实现的图片上传裁剪特效,可以对选择要上传的图片做缩小.放大.拖动和裁剪, ...

  2. WPF 自定义图片剪切器 - 头像剪切(扩展与完善、实时截图)

    原文:WPF 自定义图片剪切器 - 头像剪切(扩展与完善.实时截图) 一.说明:上一次写的"WPF 自定义图片剪切器 - 头像剪切.你懂得"存在明显的缺陷,由于篇幅较长.重新写了一 ...

  3. 【Xamarin】MonoTouch - iOS 使用 UIImagePickerController 打开图片库和相机选择图片修改头像

    Application tried to present modally an active controller <UIImagePickerController: 0x7b6ff400> ...

  4. python3图片裁剪+转换pdf+压缩

    本地大量长图,要发送给别人,所以要对图片进行裁剪+转换pdf+压缩 import zipfile import os from concurrent.futures import ThreadPool ...

  5. PHP远程下载图片,微信头像存到本地,本地图片转base64

    方法一(推荐): function download_remote_pic($url){ $header = [ 'User-Agent: Mozilla/5.0 (Windows NT 6.1; W ...

  6. python3 图片文字识别

    最近用到了图片文字识别这个功能,从网上搜查了一下,决定利用百度的文字识别接口.通过测试发现文字识别率还可以.下面就测试过程简要说明一下 1.注册用户 链接:https://login.bce.baid ...

  7. Python3 图片水平镜像实现

    # -*- coding: utf-8 -*- """ Created on Sun Feb 4 12:15:38 2018 @author: markli " ...

  8. python3图片验证码识别

    http://my.cnki.net/elibregister/CheckCode.aspx每次刷新该网页可以得到新的验证码进行测试 以我本次查看的验证码图片为例,右键保存图片为image.jpg 下 ...

  9. Python3 图片转字符画

    https://www.shiyanlou.com/courses/370/labs/1191/document from PIL import Image import argparse ascii ...

随机推荐

  1. jpa单向一对多

    单向一对多是一个类中的一条记录可对应另一个类的多条记录: 比如一个部门可对应多个员工:   jpa中的实现步骤:     one-to-many的one类中添加一个many类类型的set;比如部门类D ...

  2. 错误/异常:org.hibernate.InvalidMappingException: Could not parse mapping document from resource com/shore/model/Husband.hbm.xml 的解决方法

    1.错误/异常视图 错误/异常描述:无效的映射异常,无法从xxxxx资源中解析映射文档 2.解决方法     出现这个异常,一般情况下是包名写错了.改回来即可. 看报错/异常的第一行,最后面,会提示你 ...

  3. js--BOM对象(2)

    一.window对象是整个bom的核心 二.window对象的属性: history:(有关客户访问过的url信息) 方法: back() 加载 history 对象列表中的前一个URL forwar ...

  4. Vue_(组件通讯)父组件向子组件传值

    Vue组件 传送门 父组件向子组件传值:父组件通过属性向下传值的方式和子组件通信: 使用步骤: 1.定义组件:现有自定义组件com-a.com-b,com-a是com-b的父组件 2.准备获取数据:c ...

  5. TypeScript----函数与类

    TypeScript中的类 传统的JavaScript程序使用函数和基于原型的继承来创建可重用的组件,但对于熟悉使用面向对象方式的程序员来讲就有些棘手,因为他们用的是基于类的继承并且对象是由类构建出来 ...

  6. pyton3的数字操作你都会用吗?

    '''数字数据类型用于存储数值.数据类型是不允许改变的,这就意味着如果改变数字数据类型的值,将重新分配空间. 1.del(用于删除一些数字对象的引用) 2.整形(int)通常被称为是整形或者整数,是正 ...

  7. ubuntu18.04系统桌面很卡 换回16.04桌面

    https://jingyan.baidu.com/article/37bce2bea3c07f1002f3a22a.html

  8. linux开机执行脚本

    有些服务用命令启动的想要做到开机启动可以 /etc/profile.d/ 下面建一个脚本文件(这个目录优先级最低) #!/bin/bash ... 转载请注明博客出处:http://www.cnblo ...

  9. js实现图片上传到服务器和回显

    关于js实现图片的上传和回显,曾经用户的代码粘在这里: 样式:这样写样式的道理是给<input>标签的父级设置一个背景图,就是‘+’那个背景图,然后把<input>的宽高设置得 ...

  10. LC 889. Construct Binary Tree from Preorder and Postorder Traversal

    Return any binary tree that matches the given preorder and postorder traversals. Values in the trave ...