“表情包”是现在非常流行的交流方式,通过一张图片就能把文字不能表达或不便于表达的情感给表示出来,表情包一经诞生,就统治了中国人的社交圈,尤其是年轻人,他们的社交方式是所谓“天可不聊,图不可不斗”,几乎任何对话都会出现表情包的身影,一言不合就斗图,自己也会在聊天中发几个表情包,可是总会造成一些小误会,比如下面的图

有好多朋友看到这个表情包之后误以为这也是我用Python做的,其实不然,这个图就是网上普通的表情包,但是今天我要用Python做几个表情包。

今天制作表情包用到的技术还是之前提到的Turtle库,可以从之前的文章除了画佩奇我们还要玩点更高级的,去学习Turtle的常用语法,然后就是PIL库,之前通过这篇文章:Python骚操作|用Python来P图也介绍过PIL的几个用法,今天的案例算是做一个小小的复习。

这是一个捂脸的表情,可以表达内心千万只 * 奔腾而过,使用Turtle来实现,可以将这个图分成以下几个部分:脸,嘴巴,牙齿,两边的眼泪,手指和手腕,完整的代码和语法不过多解释,贴一个画脸的代码。

# 画脸

turtle.speed(5)

turtle.setup(900, 600, 200, 200)

turtle.pensize(5)

turtle.right(90)

turtle.penup()

turtle.fd(100)

turtle.left(90)

turtle.pendown()

turtle.begin_fill()

turtle.pencolor("#B26A0F") # head side color

turtle.circle(150)

turtle.fillcolor("#F9E549") # face color

turtle.end_fill()

第二个图是斜眼笑,表达的意思你懂得。

来看第三幅图,这个图是使用PIL库来生成的,其实这两个图是两张图拼起来的。首先呢,我们需要找两张图片,一张做表情包的背景,一张做表情。我们就以萌萌哒的熊猫头作为背景,然后试着在背景图上加入金馆长嘻哈表情。

现在我们要把金馆长的表情叠加在熊猫头的背景图中,需要注意的是要在代码中控制好金馆长的表情叠加位置,不然会遮盖住其他轮廓。

from PIL import Image,ImageDraw,ImageFont

img = Image.open("640.jpg")

jgz = Image.open("641.jpg")

img.paste(jgz,(63,46))

图片的下方是留有一部分空白的,我们可以添加一些文字。

from PIL import Image,ImageDraw,ImageFont

img = Image.open("640.jpg")

jgz = Image.open("641.jpg")

img.paste(jgz,(63,46))

#控制表情的叠加位置

draw = ImageDraw.Draw(img)

font = ImageFont.truetype("simyou.TTF",24)

draw.text((16,200),"Ahab杂货铺!", fill = (0,0,0), font = font)

#控制文字添加位置

img.show()

img.save("生成的表情包.jpg")

总结

以上所述是小编给大家介绍的使用Python制作表情包实现换脸功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

时间: 2019-07-18

python制作表情包教程_使用Python制作表情包实现换脸功能相关推荐

  1. python大数据分析基础教程_基于Python的大数据分析基础及实战

    第1部分 基 础 篇 第1章 Python语言基础 /2 1.0 引子 /2 1.1 工欲善其事,必先利其器(安装Python) /3 1.2 学跑得先学走(语法基础) /9 1.3 程序结构 /11 ...

  2. python刷b站教程_【Python】【学习资源】B站上的Python学习资源

    摘自:https://mp.weixin.qq.com/s/74wYHzF2vJeBnk8nIXIJ_Q 01小甲鱼的零基础入门学习Python B站播放量最高的Python教程,一共97讲,链接:h ...

  3. python编写小游戏教程_用Python开发 写个消消乐小游戏

    提到开心消消乐这款小游戏,相信大家都不陌生,其曾在 2015 年获得过玩家最喜爱的移动单机游戏奖,受欢迎程度可见一斑,本文我们使用 Python 来做个简单的消消乐小游戏. 实现 消消乐的构成主要包括 ...

  4. python处理表格数据教程_用Python的pandas框架操作Excel文件中的数据教程

    引言 本文的目的,是向您展示如何使用pandas来执行一些常见的Excel任务.有些例子比较琐碎,但我觉得展示这些简单的东西与那些你可以在其他地方找到的复杂功能同等重要.作为额外的福利,我将会进行一些 ...

  5. python处理表格数据教程_利用Python处理Excel数据

    本文的数据源是朝阳医院2016的销售数据,课程是使用R语言来进行数据处理的,这里尝试采用Python来处理. 要求的业务指标是:1)月均消费次数:2)月均消费金额:3)客单价:4)消费趋势 这几个指标 ...

  6. Wireshark数据抓包教程之认识捕获分析数据包

    Wireshark数据抓包教程之认识捕获分析数据包 认识Wireshark捕获数据包 当我们对Wireshark主窗口各部分作用了解了,学会捕获数据了,接下来就该去认识这些捕获的数据包了.Wiresh ...

  7. python表情换头_使用Python制作表情包实现换脸功能

    "表情包"是现在非常流行的交流方式,通过一张图片就能把文字不能表达或不便于表达的情感给表示出来,表情包一经诞生,就统治了中国人的社交圈,尤其是年轻人,他们的社交方式是所谓" ...

  8. python常用模块教程_盘点Python常用的模块和包

    模块 1.定义 计算机在开发过程中,代码越写越多,也就越难以维护,所以为了编写可维护的代码,我们会把函数进行分组,放在不同的文件里.在python里,一个.py文件就是一个模块. 2.优点: 提高代码 ...

  9. python的pandas包使用教程_「Python」pandas入门教程

    pandas适合于许多不同类型的数据,包括: 具有异构类型列的表格数据,例如SQL表格或Excel数据 有序和无序(不一定是固定频率)时间序列数据. 具有行列标签的任意矩阵数据(均匀类型或不同类型) ...

最新文章

  1. python自定义类如何定义向量的模_gensim的word2vec如何得出词向量(python)
  2. 从零开始实现一个简易的Java MVC框架(六)--加强AOP功能
  3. 深度学习(二)theano学习笔记(1)环境搭建
  4. c语言学指针变量,C语言指针变量学习五
  5. 判断选择语句switch...case
  6. 支持linux系统摄像头模块,在Linux操作系统上使用摄像头
  7. 【转】GigE Vision简介
  8. Hadoop Jobhistory配置启用
  9. LeetCode Encode and Decode TinyURL
  10. 四级数据中心认证机构更新标准全新上线
  11. 股东其实对公司情况一无所知,唯一办法是追责
  12. mike21换成计算机名称,MIKE 21
  13. 精灵图(雪碧图)一招解决定位难问题,再也不用猜位置或者ps测距离了
  14. 测试睡眠质量软件,测睡眠质量的app排行榜:推荐10款有趣又有效的睡眠APP
  15. 腾讯云服务器价格明细表(CPU内存/带宽/磁盘)
  16. 怎么样把自己计算机两个硬盘合并,两个硬盘怎么合并成一个盘
  17. mysql 按条件join_MySQL Join竟然可以这么玩?根据条件进行复制
  18. 【观察】VxRail领跑超融合市场,揭秘背后的“幕后英雄”
  19. Unity的gamma矫正、颜色空间及其转换的问题
  20. 吐血推荐 | 珍藏多年的 Chrome 插件,务必收藏

热门文章

  1. Timer定时器/计数器
  2. Cmd查看端口是否被占用问题
  3. 【web前端面试题整理03】来看一点CSS相关的吧 - 叶小钗
  4. EF中数据优先,模型优先和代码优先
  5. IntelliJ IDEA 快捷键说明大全(官方help文档翻译)
  6. 运算放大器工作原理(杨老师模拟电子学习)
  7. java 案例 吃货联盟
  8. webapck运行报错- css-loader minimize
  9. 一导航(WebStack导航wordpress版)本地测试安装成功
  10. CST2020如何将参数扫描后复杂的1D数据转换为单一频点的0D数据