Python花式表白

时间:2022-07-22
本文章向大家介绍Python花式表白,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

明天就是情人节了,有没有准备好礼物呢?来看看程序猿的花式表白

教你一行代码用Ta的名字比心

print('n'.join([''.join([('Iloveyou'[(x-y)%8]if((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3<=0 else' ')for x in range(-30,30)])for y in range(15,-15,-1)]))

还有,把"我喜欢你!",藏在图片里!像下面这样。

思路就是获取原来图片的像素,以及每个像素点的颜色。然后循环一行一行的来写"我喜欢你!"。每个字的颜色就用原图里面相应像素点的颜色来填充,只要原图像素够高,也就是行数和列数足够多,那么从远处看还是能看出原图的轮廓,而当你放大的时候就会有惊喜~

from PIL import Image, ImageDraw, ImageFont

font_size = 8
text = "我喜欢你!"
img_path = "123.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('Dengl.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("save.jpg")