python有趣的小项目-有趣的python小项目,自动生成有趣的表情包!

c02f1918a05dcf1b376e6def7f26f445a3074a45.jpg

加小编QQ群:832339352即可自动获取大量Python视频教程以及各类PDF!

作为一个数据分析师,应该信奉一句话——"一图胜千言"。不过这里要说的并不是数据可视化,而是一款全民向的产品形态——表情包!!!!

然而,在生产表情包的过程中,如果只是机械地把图片导进PS --> 改文字--> 导出,那也太low了,所以还是把这些很low的机械化的重复动作交给程序来做吧。

之前一直以为图像的自动处理,要靠JavaScript脚本控制PS或者AI;后来发现Python其实也可以做一些简单的图像处理,虽然可能比不上 MATLAB 强大。

于是对于图像处理,复杂的部分依然在PS或者AI中人工完成,简单的处理就可以用Python程序完成。

4b743c00e4dc83af9007f4d1d5174522cc757402.jpg

(如果表情可以收版权费的话,那就不用辛辛苦苦地去打球、拍戏、播音了……)

素材准备

这里我们以网络上流传最广的金馆长表情为中心,以萌萌哒的熊猫头作为背景,底下加上文字就能构成一张表情包。

d191cc290b102acf2c52f0eb5435ed1317d1504f.jpg

d0105f894c910e51e69a1b3227b9725b97395265.jpg

然后用PS处理一下图片大小,模板大小设为250*250,表情裁剪一下白边。

图片叠加

第一步工作是把表情叠加到模板上,注意到我们的表情素材是白底而不是透明,所以位置要控制好,不然会遮盖住轮廓。

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")

这样就会看到合成的图片了:

54e8858b9e3c17566711c3e8911cf3cdfa35ff07.jpg

这张图片下方还有一截留白,那是给我们最后一步添加文字用的。come on,魔性的笑容已经呈现,接下来就是最后一击,are you OK?! 哦不,are you ready?!

文字叠加

尽管表情包的核心是表情,然而一行简短而又震撼的文字往往能起到直击灵魂的画龙点睛的作用。

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")

这样就生成了一张完整的表情包了:

c397f905e815cb1bf268a34e785b3af51743ddfa.jpg

其中 draw.text()是往图层里输入文字,所以可以不断执行这条命令以在图片里添加多层文字。

你还可以导入多张表情,以及多个文本台词,这样就可以大规模批量自动生产表情包了……

问题升华

你以为到这里就结束了吗?too young啊!请童鞋们思考这个问题:表情包下留白的空间是有限的

中文和英文以及标点符号占据的空间不同

如果文本太长,就需要换行;可是如果行太多,图片就放不下

因此,当你脑中突然闪现出一句既包含中文也有英文还有N多标点符号以增强语气的台词时,怎么设计一个算法,用来寻找合适的字号大小,文本插入位置,文本在哪些地方换行,使文本能在有限空间居中展示,而且还要满足一定的观感呢?

8b96793f88f03d16a89d748772c68dbacc98f42c.jpg

算了,还是在这里结束吧……

于是,通过这篇严肃正经的教程,我们学会了使用Python进行简单图像处理的方法,更get到一项实用的神技:自动生产表情包。

最重要的是,老夫经常说的"信不信我分分钟批量做你大堆的表情包",终于成为现实了……对此,我想说,完了我爱上了Python!因为Python也太好玩了,方向太多了!

33a542d6bb95d10abe55560bf8624a1d30c1f6dd.jpg

未来是人工智能的时代,有理由相信 Python 将发挥更大的作用。那么,如果想要追赶 Python 的热潮,应该如何学习呢?

当然是加小编QQ群:832339352!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是我为你推荐的 10 个有趣Python 项目: 1. 爬虫项目:使用 Python 的 requests 和 BeautifulSoup 库,爬取网站数据,可以用来自动化抓取新闻、图片等信息。 2. 自然语言处理(NLP)项目:使用 Python 的 nltk 库,对文本进行处理和分析,例如文本分类、标注、分词等。 3. 数据分析项目:使用 Python 的 pandas 和 matplotlib 库,对数据进行清洗、分析和可视化,可以用来分析股票、天气等数据。 4. 图像识别项目:使用 Python 的 OpenCV 库,进行图像处理和分析,例如人脸识别、图像分类等。 5. 机器学习项目:使用 Python 的 scikit-learn 库,进行机器学习模型的训练和预测,例如分类、回归、聚类等。 6. 人工智能项目:使用 Python 的 TensorFlow 或 PyTorch 库,进行深度学习模型的训练和预测,例如图像识别、自然语言处理等。 7. 聊天机器人项目:使用 Python 的 ChatterBot 库,构建一个简单的聊天机器人,可以进行简单的对话和回答问题。 8. 游戏开发项目:使用 Python 的 Pygame 库,开发一些简单的小游戏,例如扫雷、俄罗斯方块等。 9. 网络爬虫项目:使用 Python 的 Scrapy 框架,构建一个高效的网络爬虫,可以自动化抓取数据并存储到数据库中。 10. 自动化脚本项目:使用 Python 的 os 和 subprocess 库,编写一些自动化脚本,例如自动化部署、自动化测试等。 希望这些项目能够给你提供一些灵感和启示!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值