Python培训
400-996-5531
无法用语言表达此刻的心情、不想说话、不想没有节操的说话...表情包可以完美解决你这些困惑有没有?想不想自己原创表情包而不止是盗图,今天python培训班教你新技能:用Python自动生成表情包,快来get这个技能吧!
作为一个数据分析师,应该信奉一句话----"一图胜千言"。不过这里要说的并不是数据可视化,而是一款全民向的产品形态——表情包!
表情包不仅仅是一种符号,更是一种文化;是促进社交乃至社会发展的动力之一,就像懒。
我们坚持认为,一张优秀的表情包,应该是一幅艺术品,是那忽如一夜春风来的灵感爆发,是那嘈嘈切切错杂弹的情思激荡,是那直挂云帆济沧海的壮志豪情,是那一览天下众山小的荣耀胜利,是不可以容忍码农用其惯有的形式固定、流程固定、毫无美感、毫无艺术的变幻和惊喜的直线思维解构。
然而,在生产表情包的过程中,如果只是机械地把图片导进PS --> 改文字--> 导出,那也太low了,所以还是把这些很low的机械化的重复动作交给程序来做吧。
之前一直以为图像的自动处理,要靠JavaScript脚本控制PS或者AI;后来发现Python其实也可以做一些简单的图像处理,虽然可能比不上MATLAB强大。
于是对于图像处理,复杂的部分依然在PS或者AI中人工完成,简单的处理就可以用Python程序完成。
在开工之前,先让我们瞻仰膜拜一下表情包界里程碑式的人物,感谢他们大力推动了表情包在历史潮流中的显著进步,他们的英名将长期被人民大众津津乐道,他们的音容笑貌将在人们的日常社交中经久不衰,他们的卓越贡献将永远镌刻于表情包史的丰碑上!
(如果表情可以收版权费的话,那就不用辛辛苦苦地去打球、拍戏、播音了……)
用Python自动生成表情包一:素材准备
这里我们以网络上流传最广的 金馆长表情为中心,以萌萌哒的熊猫头作为背景,底下加上文字就能构成一张表情包。
然后用PS处理一下图片大小,模板大小设为250*250,表情裁剪一下白边。
用Python自动生成表情包二:图片叠加
第一步工作是把表情叠加到模板上,注意到我们的表情素材是白底而不是透明,所以位置要控制好,不然会遮盖住轮廓。
from PIL import Image, ImageDraw, ImageFont
img = Image.open(".ackground.jpg")
jgz = Image.open(".jgz.jpg")
img.paste(jgz,(73,42))
img.show()
这样就会看到合成的图片了:
这张图片下方还有一截留白,那是给我们最后一步添加文字用的。come on,魔性的笑容已经呈现,接下来就是最后一击,are you OK?! 哦不,are you ready?!
用Python自动生成表情包三:文字叠加
尽管表情包的核心是表情,然而一行简短而又震撼的文字往往能起到直击灵魂的画龙点睛的作用。
draw = ImageDraw.Draw(img)
ttfront = ImageFont.truetype('simhei.ttf', 24)
draw.text((32, 190),"我的内心毫无波动
甚至还想笑",fill=(0,0,0), font=ttfront)
img.show()
img.save(".Python生成的表情包.jpg")
这样就生成了一张完整的表情包了:
其中 draw.text()是往图层里输入文字,所以可以不断执行这条命令以在图片里添加多层文字。
你还可以导入多张表情,以及多个文本台词,这样就可以大规模批量自动生产表情包了……
用Python自动生成表情包四:问题升华
你以为到这里就结束了吗?too young啊!请童鞋们思考这个问题:
表情包下留白的空间是有限的;
中文和英文以及标点符号占据的空间不同;
如果文本太长,就需要换行;可是如果行太多,图片就放不下;
因此,当你脑中突然闪现出一句既包含中文也有英文还有N多标点符号以增强语气的台词时,怎么设计一个算法,用来寻找合适的字号大小,文本插入位置,文本在哪些地方换行,使文本能在有限空间居中展示,而且还要满足一定的观感呢?
还是留给你一定的想象和创造空间吧!
恭喜你阅读完了本文《惊讶!用Python自动生成表情包》,相信你已经学会了如何用Python进行简单图像处理,如何用python自动生产表情包,现在你分分钟可以做批量的原创表情包,赶紧去试试吧!如果你还有更多关于python语言的问题,欢迎来达内python培训机构进行咨询或者进行python培训学习!
免责声明:内容和图片源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!
Copyright © 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有
Tedu.cn All Rights Reserved