zoukankan      html  css  js  c++  java
  • 教你用Python实现无限换脸技术,制作表情包

     

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


    这里要注意:不管你是为了Python就业还是兴趣爱好,记住:项目开发经验永远是核心,如果你没有2020最新python入门到高级实战视频教程,可以去小编的Python交流.裙 :七衣衣九七七巴而五(数字的谐音)转换下可以找到了,里面很多新python教程项目,还可以跟老司机交流讨教!

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

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

    image

    这是一个捂脸的表情,可以表达内心千万只***奔腾而过,使用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()

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

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

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

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

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

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

    最后注意:不管你是为了Python就业还是兴趣爱好,记住:项目开发经验永远是核心,如果你没有2020最新python入门到高级实战视频教程,可以去小编的Python交流.裙 :七衣衣九七七巴而五(数字的谐音)转换下可以找到了,里面很多新python教程项目,还可以跟老司机交流讨教!

    本文的文字及图片来源于网络加上自己的想法,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

  • 相关阅读:
    java转换CSV文件生成xml格式数据
    HTTP的Form数据的结构
    使用Filter实现静态HTML缓冲(一种折中方法)
    webwork的interceptor来实现ajax功能(buffalo)
    Delphi中DLL的编写和调用(例子)
    用C#实现BHO(Brower Helper Object)
    基于Delphi的VFW视频捕获程序的开发
    关于WebWork2中的中文问题
    tomcat中的几点配置说明
    用Sitemesh控制页面布局
  • 原文地址:https://www.cnblogs.com/chengxuyuanaa/p/12857242.html
Copyright © 2011-2022 走看看