斗图?教你用Python制作表情包

640?wx_fmt=jpeg


作者 | Ahab 

来源 | Ahab杂货铺 (ID:AhabBin)


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


640?wx_fmt=png


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


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


640?wx_fmt=png


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



 

1# 画脸
2turtle.speed(5)
3turtle.setup(900, 600, 200, 200)
4turtle.pensize(5)
5turtle.right(90)
6turtle.penup()
7turtle.fd(100)
8turtle.left(90)
9turtle.pendown()
10turtle.begin_fill()
11turtle.pencolor("#B26A0F")  # head side color
12turtle.circle(150)
13turtle.fillcolor("#F9E549")  # face color
14turtle.end_fill()




640?wx_fmt=png


第二个图是斜眼笑,表达的意思你懂得2_02.png


640?wx_fmt=jpeg


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


640?wx_fmt=jpeg


640?wx_fmt=jpeg


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



 

1from PIL import Image,ImageDraw,ImageFont
2
3img = Image.open("640.jpg")
4jgz = Image.open("641.jpg")
5img.paste(jgz,(63,46))




640?wx_fmt=jpeg


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



 

1 from PIL import Image,ImageDraw,ImageFont
2 
3 img = Image.open("640.jpg")
4 jgz = Image.open("641.jpg")
5 img.paste(jgz,(63,46))
6 
7#控制表情的叠加位置
8 draw = ImageDraw.Draw(img)
9 font = ImageFont.truetype("simyou.TTF",24)
10 draw.text((16,200),"Ahab杂货铺!", fill = (0,0,0), font = font)
11 #控制文字添加位置
12 img.show()
13 img.save("生成的表情包.jpg")



640?wx_fmt=jpeg

(本文为 AI科技大本营投稿文章,转载请联系作者。)


公开课预告

今晚8点直播


如何用AI技术为黑白老照片上色?本次公开课中,百度高级研发工程师李超将讲述对抗生成网络相关,学术界的研究现状和应用场景,以及GAN在百度视觉+百度PR+新华社合作的焕彩项目中的应用。


640?wx_fmt=png


推荐阅读

  • 熬夜写代码,不如换女装入GitHub获上千Star?

  • 春节停车难?用Python找空车位

  • Python告诉你:为何年终奖多发一元,到手却少两千多?

  • 送你一份春节看片攻略~

  • 加班的程序员:996 没有未来

  • 滴滴回应顺风车重新上线;苹果推 iPhone 新政策;便利蜂“高数裁员”引争议? | 极客头条

  • 微服务架构下静态数据通用缓存机制

  • 打破区块链不可能三角!2 华人专家论文将登 NSDI 2019 计算机顶会

  • 女程序员:我敲代码养家,老公负责貌美如花!

640?wx_fmt=png

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

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

相关文章

斗图吗?教你用Python来制作表情包

“表情包”是现在非常流行的交流方式,通过一张图片就能把文字不能表达或不便于表达的情感给表示出来,现在年轻人的社交方式是所谓“天可不聊,图不可不斗”,几乎任何对话都会出现表情包的身影,一言不合就斗图 今天呢&am…

表情包系列(一):程序员专属的可爱搞笑表情包+段子,进来看一看......

前文 日常欢乐:作为程序员的你们,BUG虽然改不断,但是我们的快乐源泉不能少!! 正文 经过亲们的强烈要求 已经为大家搭建了最新最全的程序员搞笑段子宝藏表情包库。 每天都会日常更新!准备做个系列啦。 每天精选优…

smtp 发送邮件(qq邮箱)失败

项目用的框架是 ThinkPHP,在本地WAMP环境下使用了QQ邮箱的 smtp 邮件系统 本地测试成功的情况下,部署到服务器上无法发送邮件,报错:500 解决方法 最终发现是端口号的原因,QQ邮箱的 smtp 服务端口号为 465 或 587&#…

remote: 认证失败,请确认您输入了正确的账号密码。 fatal: Authentication failed

问题描述:remote: Coding 提示: Authentication failed! 认证失败,请确认您输入了正确的账号密码 解决方案: 1、在控制面板里找到凭据管理器 2、更新密码 3、重新拉取代码成功

foxmail添加QQ邮箱失败 :ssl连接错误, errorCode: 5

背景:foxmail添加QQ邮箱失败 错误提示:ssl连接错误, errorCode: 5 添加步骤: 1、QQ邮箱 设置—>账户—>POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务,开启POP3,发送获取授权码的短信,获取到授权码 2、在foxmail中…

qq邮箱foxmail imap服务器,foxmail登录imap服务器提示失败。怎么办?

满意答案 uisi3535 2012.12.04 采纳率:56% 等级:2 已帮助:28377人 Foxmail设置:(以foxmail6.5为例) 一、打开(OPEN) Foxmail,单击“email”菜单中的“新建email帐户”; 二、进去 Foxmail 向导&#xff0…

使用手机自带邮箱客户端无法登录163邮箱,提示:鉴权失败

在使用手机登录163邮箱时,报上述错误, 解决办法是: 重置授权码后,使用重置的授权码作为客户密码进行登录,即可。

提交信息与gerrit邮箱认证失败,无法提交代码到gerrit问题

提交信息与gerrit邮箱认证失败,无法提交代码到gerrit问题: 首先看截图,本地提交记录里边有一个提交的commiter的邮箱与其他不同,导致提交到远程gerrit上边时邮箱验证无法通过,故无法提交。1.问题出现原因 之前有过…

解决azkaban使用腾讯企业邮箱发邮件失败问题

1、问题:azkaban配置好腾讯的企业邮箱作为邮件发送者,但是zakaban的web后台直接报错误,连接超时: javax.mail.MessagingException: Exception reading response; 13051- nested exception is: 13052- java.net.SocketTimeoutExc…

解决simnow客户端登录报CTP:客户端认证失败

新申请的账号,第一次登录客户端时报CTP:客户端认证失败 解决:首页重置密码,用重置后的密码重新在客户端登录即可。

虚拟卡 | 玩转Drop shipping速卖通采购用什么虚拟卡?

#速卖通 #速卖通采购 #虚拟卡 #虚拟信 芯用卡腾讯信联VIE2277虚拟卡速卖通采购账号大额购物扣费跨境双币虚拟卡 DROP SHIPING是供应链管理中的一种方法。零售商无需商品库存,而是把客户订单和装运细节给批发商,供货商将货物直接发送给最终客户。而零售商…

[转]全球付虚拟卡申请流程~

转自:http://jy.smzdm.com/detail/18235 小编注:Global Cash的服务让大家多了一个有效的支付渠道,但根据之前海淘妹子年前的调研,其在实际使用过程中可能会出现以下问题,希望大家积极讨论。 1.充值的时候收取手续费的透明度有待提高。2.如果使用该账户支付后仍然被砍单等遇…

聪明的电教员程序(C++)

您好,陌生人。欢迎阅读此篇文章! 情景导入 众所周知,在 宇宙 - 银河系 - 太阳系 - 地球 - 中国 - 湖北省 - 宜昌市 - 高新区 - 金东方初级中学,这个半年学费就是24000元,在宜昌市号称硬件设施高端的私立中学中&#xf…

chatGPT 学习分享:内含PPT分享下载

InstructGPT论文地址: Training language models to follow instructions with human feedbackchatGPT地址:openAI个人整理的PPT(可编辑),下载地址:chatGPT学习分享PPT

国内热门AI智能音箱品牌都采用了哪些功放芯片

音频功放IC是各类音响、耳机等器材不可或缺的一部分;音频功率放大器芯片俗称“扩音器”,是音响系统中最基本的设备,负责将来自信号源的微弱电信号进行放大,以驱动扬声器发声,从而将声音传至我们的听觉系统。 现如今&a…

智能插座基础版能否接入Home Assistant智能平台?

声明: 转载自:http://bbs.xiaomi.cn/t-13447480-n7 如题,请问能否给小米智能插座基础版(wifi版)能否开放api接口,目前在用的Home Assistant是一个开源的智能平台,上面支持的智能设备和智能联动场景灵活多样…

大华NVR接入海康摄像机的设置

海康摄像头接入大华NVR是需要配置的,否则会显示网络错误。 1、登陆摄像头IP(一般海康初始IP是192.168.1.64,可以登陆官网下载设备搜索工具)。 2、如果需要接入NVR,首先需要在高级配置中选中启用onvif协议,…

ONVIF方式将大华摄像头接入海康威视录像机

ONVIF方式将大华摄像头接入海康威视录像机 一、大华摄像头启用ONVIF,录像机添加后可通过云台控制方向 二、大华摄像头添加新的ONVIF用户 三、海康威视录像机添加摄像头

LiveNVR - Onvif/RTSP接入各家摄像头直播与云台控制

LiveNVR Onvif/RTSP流媒体服务,支持RTSP稳定拉流接入,支持Onvif协议接入,支持RTMP/HLS/HTTP-FLV分发,将传统安防监控设备互联化,无插件直播等。 什么是Onvif协议 ONVIF规范描述了网络视频的模型、接口、数据类型以及数…

EasyNVR二次开发云台控制接口实例

1.背景需求 通过EasyNVR接口,二次开发集成在自己的原有的web业务系统上云台控制及实时直播功能,demo效果入下。 demo是通过vue-cli脚手架搭建起来,简单说一下,目录结构 对easy-player不了解的这是播放器插件地址可以参看 https:/…