python如何训练图片_Python练习第一题,在图片上加入数字

题目:在头像(QQ、微信等)右上角加上红色的数字,类似于微信未读信息数量那种提示效果。

下面是示例,在图片上加数字。

用PS很简单就可以做到,但是如何用Python完成呢?

一、思路:利用Python强大的图片处理库——Pillow

下面介绍今天会用到的模块:The ImageDraw Module,他的功能如下,

支持2D图像

创建绘画对象

基本绘画操作弧/弦/扇形 chord arc pieslice (bbox, strtAng, endAng)

椭圆 ellipse (bbox)

线段/多段线 line (L) draw.line(((60,60),(90,60), (90,90), (60,90), (60,60))) #draw a square

点 point (xy) #单像素点很小看不清,实际中可用实心小圆代替

多边形 polygon (L) draw.polygon([(60,60), (90,60), (90,90), (60,90)]) #draw a square

矩形 rectangle (bbox) # first coord属于矩形, second coord不属于

文字 text(xy,message,font=None) 绘制文字message,文本区域左上角坐标为xy

drawable.text((10, 10), "Hello", fill=(255,0,0), font=None)

文字大小 textsize(message,font=None) 给定文字message,返回所占像素(width,height)

可选参数

矢量字体支持

二、示例练习

环境:Python3.5

from PIL import Image, ImageDraw, ImageFont

img = Image.open('girl.jpg')

draw = ImageDraw.Draw(img)

myfont = ImageFont.truetype('C:/windows/fonts/Arial.ttf', size=80)

fillcolor = "#ff0000"

width, height = img.size

draw.text((40,40),'hello', font=myfont, fill=fillcolor)

img.save('result.jpg','jpeg')

效果展示:

也就是在原图上加入文字,下面一步步分析过程。

from PIL import Image, ImageDraw, ImageFont

首先导入相关模块,没有安装可以直接用pip安装

img = Image.open('girl.jpg')

draw = ImageDraw.Draw(img)

打开图片girl.jpg

myfont = ImageFont.truetype('C:/windows/fonts/Arial.ttf', size=80)

fillcolor = "#ff0000"

width, height = img.size

Arial.ttf是电脑上安装的字体,fillcolor是填充颜色,#ff0000是十六进制颜色

draw.text((40,40),'hello', font=myfont, fill=fillcolor)

img.save('result.jpg','jpeg')

最后就是添加文字了,(40,40)是位置,'hello'自定义,最后保存。

三、总结

好了,今天的题目讲完了,其中我也遇到很多困难,我准备在图片中加入中文,但是文字无法正常显示,朋友们,有谁知道答案吗?

打算以后每天写一篇题目解析,这些题目在github上都有,最后求一波star(๑• . •๑)

这是@史江歌大神整理的Python题目,我会详细讲解过程Yixiaohan/show-me-the-code

最后,我想给自己定个目标,2017年利用Python找到一份工作,养活自己。

你呢?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/502276.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python计算汉明距离_有效地使用python计算汉明距离

python中的distance软件包提供汉明距离计算器:import distancedistance.levenshtein("lenvestein", "levenshtein")distance.hamming("hamming", "hamning")还有一个levenshtein包提供了levenshtein距离计算.最后difflib可…

python给字母赋值_给字母赋值的更快方法?

我试着从列表中的单词中读出每个字符,然后根据单词中的每个字母给它们赋值。我的代码太长了,我相信一定有一个更短的方法来实现它。。。在for c in tempWord:if(c "A"):tempSum 1elif(c "B"):tempSum 2elif(c "C"):t…

web mysql 界面表命名规范_MySql数据库表字段命名及设计规范

1.设计原则1) 标准化和规范化web数据的标准化有助于消除数据库中的数据冗余。标准化有好几种形式,但 Third Normal Form(3NF)一般被认为在性能、扩展性和数据完整性方面达到了最好平衡。简单来讲,遵照3NF 标准的数据库的表设计原 则是:“One …

通过代理上网 固定ip_浅析局部代理IP与全局代理IP的使用说明

经常有人问,如何设置局部代理IP,如何设置全局代理IP,今天我们一起来看看。何谓局部代理IP,顾名思义,改变局部的IP,不影响其他程序软件运行的使用IP;所谓全局代理IP,就是改变整个客户…

如何检查私钥和公钥是否配对_如何检查家具是否有臭虫

如果您购买了二手家具,或者家具使用好多年了,那么由于家庭环境等问题,难免会出现臭虫!臭虫可以通过许多不同的方式进入您的房屋,但是最常见的方法之一是您的二手家具。关于臭虫首先,让我们从臭虫入门。这些…

教你如何快速入门python_如何快速入门python

匿名用户1级2018-10-10 回答Python入门到精通学习书籍推荐!1、Python基础教程(第2版 修订版)《Python基础教程(第2版修订版)》包括Python程序设计的方方面面,内容涉及的范围较广,既能为初学者夯实基础,又能帮助程序员提升技能&…

利用expect安装mysql_linux使用mysqldump+expect+crontab实现mysql周期冷备份思路详解

一、遇到的问题我们使用过mysqldump都知道,使用该命令后,需要我们手动输入 mysql的密码,那么我们就不能够直接在crontab中使用mysqldump实现周期备份。其实我们可以使用expect脚本自动输入密码,从而实现真正的周期备份。如果你不知…

数据结构实验之图论九:最小生成树_初高中数学竞赛训练----图论初步2

例题中有2019年罗马尼亚大师赛第3试题树树:一个连通图,如果没有一个环,则叫树。森林:若干个独立的树形成一个森林。链:一个特殊的树是节点中,除去两个节点的度为1,其它均为2,叫做链。…

可以结束一个循环的关键字是python_第33 p,for遍历,循环取值最方便

大家好,我是杨数Tos,这是《从零基础到大神》系列课程的第33篇文章,第二阶段的课程:Python基础知识:Python中的控制语句之for遍历。学习本课程,建议先看一遍:【计算机基础知识】课程。一、用for能…

在每个运行中运行多个查询_Spring Data JPA的运行原理及几种查询方式

Spring Data JPA的运行原理:PersistenceContext(name"entityManagerFactory") private EntityManager em; Test public void test1(){ //org.springframework.data.jpa.repository.support.SimpleJpaRepositor yfba8bf //System.out.println(this.u…

467python教程_Magnus Lie Hetland的《Python基础教程(第3版)》自学笔记(持续更新中)...

转载请注明原创出处,谢谢!如果读完觉得有收获的话,欢迎点赞加关注。Python基础教程.jpg快速上手:基础知识交互式解释器在Python交互式解释器的提示符>>>后面输入help()可以获取指南,在IDLE中,还可…

java 获取所有带指定注解的类名_SXT DAY023 反射和注解

1. 反射机制介绍_Class对象获取反射机制是 Java 的动态性之一 动态语言:在程序运行时,可以改变程序的结构或变量的 类型。反射机制的常见作用动态的加载类、动态的获取类的信息(属性,方法,构造 器) 动态构造对象 动态调用类和对象的任意方法、…

tomcat勾连mysql_tomcat9.0启动脚本startup.bat的分析

1、 Apache Tomcat的下载和安装从Apache官网https://tomcat.apache.org/可以下载各种版本的tomcat软件,下载的文件格式可以是zip/tar.gz/exe形式的。如下图所示,在64位windows中使用tomcat,我们可以下载"64-bit Windows.zip",直接解…

安卓能硬改的手机机型_【每日新闻】小米11部分镜头参数爆料;华为重新采购手机零部件 重启4G手机生产...

数据铸造影响力关注每日行业热点资讯,掌握业界动态趋势,以下是今天的精彩内容:1、小米11部分镜头参数爆料:超大底50MP主摄,长焦达12MP或48MP2、华为重新采购手机零部件 重启4G手机生产1、小米11部分镜头参数爆料&#…

kafka集群为什么需要三个节点_大白话带你认识 Kafka

前言应大部分的小伙伴的要求,在Yarn之前先来一个kafka的小插曲,轻松愉快。一、Kafka基础消息系统的作用应该大部份小伙伴都清楚,用机油装箱举个例子所以消息系统就是如上图我们所说的仓库,能在中间过程作为缓存,并且实…

mysql对日期的操作_MySql对日期的操作

1、计算俩个日期之间所差的天数select datediff(2018-09-18,2018-09-01)2、计算日期是这周的星期几select dayofweek(2018-09-18)1.因为外国一般都是把星期天认为是一周的开始,所以用这种方法一般都得减去一天才是这周的星期几select date_format(2018-09-17,"…

sql移动加权计算利润_计算机视觉中的半监督学习

作者:Amit Chaudhary编译:ronghuaiyang导读图解半监督的各种方法的关键思想。计算机视觉的半监督学习方法在过去几年得到了快速发展。目前最先进的方法是在结构和损失函数方面对之前的工作进行了简化,以及引入了通过混合不同方案的混合方法。…

.net 启动mysql数据库连接_[ASP.net教程]mysql数据库连接方式(.net)

[ASP.net教程]mysql数据库连接方式(.net)0 2014-07-17 18:01:001.通过ado.net连接(数据库连接串中为中文貌似无法使用)需要添加MySql.Data.dll(可通过安装mysql-connector-net-6.8.3.mis获得)引用MySql.Data.dll调用方式string connectionString “serverlocalhost;port3306;da…

overflowhidden把内容遮住了怎么办_图片有水印怎么办?不用PS,有这4招就够了!...

图片是我们在做 PPT 时经常会使用到的高频元素。往往会在搜索引擎中搜到很多带有水印的图片,怎么办呢?固然 PS 等软件去水印很给力,但是对于连 PPT 都还没有用得很熟悉的同学,让他们再去下载安装 Photoshop 软件,仅仅只…

mysql开窗函数over_oracle分析函数技术详解(配上开窗函数over())

一、Oracle分析函数入门 分析函数是什么? 分析函数是Oracle专门用于 解决复杂报表统计需求 的功能强大的函数, 它可以在数据中进行分组然后计算基于组的某种统计 ,并且每一组的每一行都可以返回一个统计。 分析函数和聚合函数的不同之处是什么…