Python3图片处理头像
一. 简介:
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图片处理头像的更多相关文章
- jQuery拖动剪裁图片作为头像
图片上传是许多网站的一个常用的功能,有时需要对上传的图片做初步的选择裁剪,比如上传头像.下面就是一个使用HTML5+jQuery实现的图片上传裁剪特效,可以对选择要上传的图片做缩小.放大.拖动和裁剪, ...
- WPF 自定义图片剪切器 - 头像剪切(扩展与完善、实时截图)
原文:WPF 自定义图片剪切器 - 头像剪切(扩展与完善.实时截图) 一.说明:上一次写的"WPF 自定义图片剪切器 - 头像剪切.你懂得"存在明显的缺陷,由于篇幅较长.重新写了一 ...
- 【Xamarin】MonoTouch - iOS 使用 UIImagePickerController 打开图片库和相机选择图片修改头像
Application tried to present modally an active controller <UIImagePickerController: 0x7b6ff400> ...
- python3图片裁剪+转换pdf+压缩
本地大量长图,要发送给别人,所以要对图片进行裁剪+转换pdf+压缩 import zipfile import os from concurrent.futures import ThreadPool ...
- PHP远程下载图片,微信头像存到本地,本地图片转base64
方法一(推荐): function download_remote_pic($url){ $header = [ 'User-Agent: Mozilla/5.0 (Windows NT 6.1; W ...
- python3 图片文字识别
最近用到了图片文字识别这个功能,从网上搜查了一下,决定利用百度的文字识别接口.通过测试发现文字识别率还可以.下面就测试过程简要说明一下 1.注册用户 链接:https://login.bce.baid ...
- Python3 图片水平镜像实现
# -*- coding: utf-8 -*- """ Created on Sun Feb 4 12:15:38 2018 @author: markli " ...
- python3图片验证码识别
http://my.cnki.net/elibregister/CheckCode.aspx每次刷新该网页可以得到新的验证码进行测试 以我本次查看的验证码图片为例,右键保存图片为image.jpg 下 ...
- Python3 图片转字符画
https://www.shiyanlou.com/courses/370/labs/1191/document from PIL import Image import argparse ascii ...
随机推荐
- redis异步处理
$reids = new Redis; $redis->connect('localhost',6379); $redis->auth(''); //将数组转换成字符串再存到redis中 ...
- js 获取 touch length
window.addEventListener("touchstart", touchHandler, false); function touchHandler(event){ ...
- maven项目启动找不到org.springframework.web.context.ContextLoaderListener
解决方法: 1. 右键单击工程项目 ->点击 properties2. 选择 Deployment Assembly3. 点击 Add -> Java Build Path Entries ...
- WordPress显示评论者IP归属地、浏览器、终端设备、电信运营商
在网上查资料闲逛,偶然间看到了张戈博客的评论框有点意思,于是就收走拿到了我的米扑博客. 本文为米扑博客原创:总结分享 WordPress显示评论者IP归属地.浏览器.终端设备.电信运营商 WordPr ...
- vue 甘特图简单制作
甘特图(Gantt chart)又称为横道图.条状图(Bar chart).其通过条状图来显示项目,进度,和其他时间相关的系统进展的内在关系随着时间进展的情况.以提出者亨利·L·甘特(Henrry L ...
- P1914 小书童——密码
输入格式: 第一行:n.第二行:未移动前的一串字母 输出格式: 一行,是此蒟蒻的密码 直接上代码: #include<iostream> using namespace std; int ...
- 8.3 CSS样式
8.3 CSS样式 参考链接:http://how2j.cn/k/css2/css2-border/249.html 一.CSS有什么作用. 不使用css 给每一个单元格加上背景颜色 .就需要给每一个 ...
- springboot的@EnableAutoConfiguration起作用的原理
通常我们启动一个springboot项目会在启动方法中增加@SpringBootApplicatoin注解,该注解中包含了@EnableAutoConfiguration @Target(Elemen ...
- TCP被动打开 之 第一次握手-接收SYN
假定客户端执行主动打开,服务器执行被动打开,客户端发送syn包到服务器,服务器接收该包,进行建立连接请求的相关处理,即第一次握手:本文主要分析第一次握手中被动打开端的处理流程,主动打开端的处理请查阅本 ...
- POJ 3128 Leonardo's Notebook (置换)
Leonardo's Notebook Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 2324 Accepted: 98 ...