第一种:Gif图,简单优雅,代码易懂,用python标准库turtle一步步画图,完成之后用屏幕录制gif工具生成动图就行了,效果演示:
代码如下:
import turtleimport time# writing txtturtle.hideturtle()
turtle.penup()
turtle.goto(80, 50)# turtle.pendown()turtle.color("purple")
time.sleep(1)
#XX同学可以改为你自己的表白对象
turtle.write("XX同学给你画个东西", font=("Times", 18, "bold"))
time.sleep(0.5)
turtle.goto(180, 10)
turtle.write("开始了哈~", font=("Times", 18, "bold"))
time.sleep(0.5)
turtle.goto(200, -20)
turtle.write("Ready?", font=("Times", 18, "bold"))
time.sleep(0.5)
turtle.goto(215, -50)
turtle.write("go!", font=("Times", 18, "bold"))
time.sleep(0.5)# turtle.end_fill()## 设置初始位置turtle.goto(0, 0)
turtle.color("black")
turtle.penup()
turtle.left(90)
turtle.fd(200)
turtle.pendown()
turtle.right(90)# 花蕊turtle.fillcolor("red")
turtle.begin_fill()
turtle.circle(10, 180)
turtle.circle(25, 110)
turtle.left(50)
turtle.circle(60, 45)
turtle.circle(20, 170)
turtle.right(24)
turtle.fd(30)
turtle.left(10)
turtle.circle(30, 110)
turtle.fd(20)
turtle.left(40)
turtle.circle(90, 70)
turtle.circle(30, 150)
turtle.right(30)
turtle.fd(15)
turtle.circle(80, 90)
turtle.left(15)
turtle.fd(45)
turtle.right(165)
turtle.fd(20)
turtle.left(155)
turtle.circle(150, 80)
turtle.left(50)
turtle.circle(150, 90)
turtle.end_fill()# 花瓣1turtle.left(150)
turtle.circle(-90, 70)
turtle.left(20)
turtle.circle(75, 105)
turtle.setheading(60)
turtle.circle(80, 98)
turtle.circle(-90, 40)# 花瓣2turtle.left(180)
turtle.circle(90, 40)
turtle.circle(-80, 98)
turtle.setheading(-83)# 叶子1turtle.fd(30)
turtle.left(90)
turtle.fd(25)
turtle.left(45)
turtle.fillcolor("green")
turtle.begin_fill()
turtle.circle(-80, 90)
turtle.right(90)
turtle.circle(-80, 90)
turtle.end_fill()
turtle.right(135)
turtle.fd(60)
turtle.left(180)
turtle.fd(85)
turtle.left(90)
turtle.fd(80)# 叶子2turtle.right(90)
turtle.right(45)
turtle.fillcolor("green")
turtle.begin_fill()
turtle.circle(80, 90)
turtle.left(90)
turtle.circle(80, 90)
turtle.end_fill()
turtle.left(135)
turtle.fd(60)
turtle.left(180)
turtle.fd(60)
turtle.right(90)
turtle.circle(200, 60)
time.sleep(0.5)
turtle.penup()
turtle.color("orange")
turtle.goto(180, -100)
turtle.write("umd~送给你~", font=("Times", 18, "bold"))
turtle.goto(180, -120)
turtle.write("情人节快乐!", font=("Times", 18, "bold"))
time.sleep(10)
屏幕录制工具我用的 ScreenToGif,很强大,录制出来的像素很高体积很小
下载地址:https://www.jianshu.com/p/17121d0587fc
录制的时候只要把目标屏幕边框对准就可以了:
第二种:灰度图,放大看可以看到你表白的文字,适用于不敢大胆露骨表白,只敢小心翼翼试探的人群,效果如下:
原图:
效果图:
让对方放大仔细看:
就能看到你想对他说的话啦(*^_^*)
代码如下(里边可以编辑为自己的文字内容和图片路径):
#coding:utf-8from PIL import Image, ImageDraw, ImageFont
font_size = 8text = "情人节快乐!"img_path = "me.jpg"img_raw = Image.open(img_path)
img_array = img_raw.load()
img_new = Image.new("RGB", img_raw.size, (0, 0, 0))
draw = ImageDraw.Draw(img_new)
font = ImageFont.truetype('3.ttf', font_size)def character_generator(text):while True:for i in range(len(text)):yield text[i]
ch_gen = character_generator(text)for y in range(0, img_raw.size[1], font_size):for x in range(0, img_raw.size[0], font_size):
draw.text((x, y), next(ch_gen) ,font=font,fill=img_array[x, y], direction=None)
img_new.convert('RGB').save("result.jpg")