来源:百度动图
一年一度的七夕又快到了,我发现网上有很多写得很好的Python表白代码,感觉绘出来的图很漂亮。我整理了一下,挑了一些我觉得不错的代码和部分自认不错的原创分享给大家。这些我都测试过,确实可以生成喔~,选一种喜欢的方式发给你的那个TA吧图片。
更多原创表白代码:比心、永恒心动、我的眼里只有你、表白烟花、这是我的某某某见本文最后的文章链接。
文章目录 一、入门级1. 一行代码画爱心2. 用turtle库画爱心加文字 二、进阶级1. 用turtle库画一朵玫瑰花版本12. 用turtle库画一朵玫瑰花版本23. 用turtle库画爱心加文字 三、高阶版1. 星空下的告白2.照片墙print('n'.join([''.join([('Love'[(x-y)%4]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)])) 1'
效果图
import turtle import math turtle.pen() t=turtle t.up() t.goto(0,150) t.down() t.color('red') t.begin_fill() t.fillcolor('red') t.speed(1) t.left(45) t.forward(150) t.right(45) t.forward(100) t.right(45) t.forward(100) t.right(45) t.forward(100) t.right(45) t.forward(250+math.sqrt(2)*100) t.right (90) t.speed(2) t.forward(250+100*math.sqrt(2)) t.right(45) t.forward(100) t.right(45) t.forward(100) t.right(45) t.forward(100) t.right(45) t.forward(150) t.end_fill() t.goto(-10,0) t.pencolor('white') #L t.pensize(10) t.goto(-50,0) t.goto(-50,80) t.up () #I t.goto(-100,0) t.down() t.goto(-160,0) t.goto(-130,0) t.goto(-130,80) t.goto(-160,80) t.goto(-100,80) t.up() #O t.goto(10,25) t.down() t.right(45) t.circle(25,extent=180) t.goto(60,55) t.circle(25,extent=180) t.goto(10,25) t.up() t.goto(75,80) t.down() t.goto(100,0) t.goto(125,80) t.up() t.goto(180,80) t.down() t.goto(140,80) t.goto(140,0) t.goto(180,0) t.up() t.goto(180,40) t.down() t.goto(140,40) #U t.up() t.goto(-40,-30) t.down() t.goto(-40,-80) t.circle(40,extent=180) t.goto(40,-30) t.hideturtle()
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980效果图
#!/usr/bin/env python # coding: utf-8 #绘制玫瑰花并添加文字 import turtle # 设置画布大小 # turtle.screensize(canvwidth=None, canvheight=None, bg=None) turtle.setup(width=0.6, height=0.6) # 设置初始位置 turtle.penup() turtle.left(90) turtle.fd(200) turtle.pendown() turtle.right(90) # 输出文字 printer = turtle.Turtle() printer.hideturtle() printer.penup() printer.back(200) printer.write("赠给亲爱的 XXnn", align="right", font=("楷体", 16, "bold")) printer.write("from XXX", align="center", font=("楷体", 12, "normal")) # 花蕊 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() # 花瓣1 turtle.left(150) turtle.circle(-90, 70) turtle.left(20) turtle.circle(75, 105) turtle.setheading(60) turtle.circle(80, 98) turtle.circle(-90, 40) # 花瓣2 turtle.left(180) turtle.circle(90, 40) turtle.circle(-80, 98) turtle.setheading(-83) # 叶子1 turtle.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) # 叶子2 turtle.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) turtle.done()
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102效果图
# -*- coding: UTF-8 -*- ''' 代码用途 :画玫瑰花 作者 :阿黎逸阳 博客 : https://blog.csdn.net/qq_32532663/article/details/106176609 ''' import os import time import pygame import turtle as t #播放音乐 print('播放音乐') pygame.mixer.init() pygame.mixer.music.load(r"F:公众号62.玫瑰花Eran - 春の思い出.mp3") pygame.mixer.music.set_volume(0.5) pygame.mixer.music.play(1, 10) t.title('阿黎逸阳的代码公众号') t.speed(3) t.setup(startx=0, starty = 0, width=800, height = 600) #画爱心 def red_heart(): t.penup() t.goto(0, 200) t.pendown() t.pensize(2) t.color('black', 'red') t.begin_fill() t.setheading(110) t.circle(30, 150) t.left(15) t.circle(50, 70) t.circle(-50, 30) t.left(100) t.circle(-50, 30) t.right(10) t.circle(50, 70) t.left(5) t.circle(29, 175) t.end_fill() def top_arc(): #画花上面的部分 t.penup() t.goto(18, 224) t.pendown() t.begin_fill() t.setheading(125) t.pensize(2) t.color('black', 'red') t.circle(25, 125) t.color('red') t.circle(25, 360-125) t.end_fill() def under_arc(): #画下弧线 t.penup() t.goto(-58, 190) t.pendown() t.begin_fill() t.color('black', 'red') t.setheading(290) t.circle(-120, 50) t.circle(60, 120) t.setheading(-10) t.circle(60, 120) t.left(4) t.circle(-120, 50) t.end_fill() def stamen(): #画花蕊 t.penup() t.goto(0, 185) t.pendown() t.setheading(90) t.circle(5, 270) t.right(5) t.circle(100, 8) #t.right(10) t.circle(10, 180) t.circle(100, 8) t.right(10) t.circle(15, 160) t.circle(80, 5) t.right(34) t.circle(-30, 80) #画花身 t.right(10) t.circle(100, 82) #画竖线 t.penup() t.goto(-10, 183) t.pendown() t.setheading(-90) t.forward(15) t.penup() t.goto(-21, 179) t.pendown() t.setheading(-90) t.forward(25) t.penup() t.goto(18, 185) t.pendown() t.setheading(-90) t.forward(29) print('画心') red_heart() print('画顶部弧线') top_arc() print('画下弧线') under_arc() print('画心') red_heart() print('画花蕊') stamen() # 写文字 t.hideturtle() t.penup() t.goto(-200, -200) t.pendown() t.write("赠给亲爱的 XXnn", align="right", font=("楷体", 16, "bold")) t.penup() t.goto(-200, -200) t.pendown() t.write("from XXX", align="right", font=("楷体", 12, "normal"))
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125效果视频
注:如需视频源代码,请在公众号中回复“玫瑰花2”,即可免费获取。
3. 用turtle库画爱心加文字import turtle import random def love(x, y): # 在(x,y)处画爱心lalala lv = turtle.Turtle() lv.hideturtle() lv.up() lv.goto(x, y) # 定位到(x,y) def curvemove(): # 画圆弧 for i in range(20): lv.right(10) lv.forward(2) lv.color('red', 'pink') lv.speed(10000000) lv.pensize(1) # 开始画爱心lalala lv.down() lv.begin_fill() lv.left(140) lv.forward(22) curvemove() lv.left(120) curvemove() lv.forward(22) lv.write("YZ", font=("Arial", 12, "normal"), align="center") # 写上表白的人的名字 lv.left(140) # 画完复位 lv.end_fill() def tree(branchLen, t): if branchLen > 5: # 剩余树枝太少要结束递归 if branchLen < 20: # 如果树枝剩余长度较短则变绿 t.color("green") t.pensize(random.uniform((branchLen + 5) / 4 - 2, (branchLen + 6) / 4 + 5)) t.down() t.forward(branchLen) love(t.xcor(), t.ycor()) # 传输现在turtle的坐标 t.up() t.backward(branchLen) t.color("brown") return t.pensize(random.uniform((branchLen + 5) / 4 - 2, (branchLen + 6) / 4 + 5)) t.down() t.forward(branchLen) # 以下递归 ang = random.uniform(15, 45) t.right(ang) tree(branchLen - random.uniform(12, 16), t) # 随机决定减小长度 t.left(2 * ang) tree(branchLen - random.uniform(12, 16), t) # 随机决定减小长度 t.right(ang) t.up() t.backward(branchLen) myWin = turtle.Screen() t = turtle.Turtle() t.hideturtle() t.speed(1000) t.left(90) t.up() t.backward(200) t.down() t.color("brown") t.pensize(32) t.forward(60) tree(100, t) myWin.exitonclick()
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869效果图
""" 代码用途:表白 作者:阿黎逸阳 """ def bgpic(self, picname=None): """Set background image or return name of current backgroundimage. Optional argument: picname -- a string, name of a gif-file or "nopic". If picname is a filename, set the corresponding image as background. If picname is "nopic", delete backgroundimage, if present. If picname is None, return the filename of the current backgroundimage. Example (for a TurtleScreen instance named screen): >>> screen.bgpic() 'nopic' >>> screen.bgpic("landscape.gif") >>> screen.bgpic() 'landscape.gif' """ if picname is None: return self._bgpicname if picname not in self._bgpics: self._bgpics[picname] = self._image(picname) self._setbgpic(self._bgpic, self._bgpics[picname]) self._bgpicname = picname # coding: utf-8 import pygame import os import sys from pygame.locals import * os.chdir('F:/微信公众号/Python/29.加载音乐') os.getcwd() pygame.init() pygame.mixer.init() pygame.mixer.music.load("告白.mp3") #pygame.mixer.music.set_volume(0.4) pygame.mixer.music.play() bg_size = width, height = 300, 200 bg_rgb = (255, 255, 255) screen1 = pygame.display.set_mode(bg_size) pygame.display.set_caption("告白音乐") clock = pygame.time.Clock() play_image = pygame.image.load("开始和暂停按钮2.png").convert_alpha() pause_image = pygame.image.load("开始和暂停按钮2.png").convert_alpha() pause_rect = pause_image.get_rect() print(pause_rect.width,pause_rect.height) pause_rect.left, pause_rect.top = (width - pause_rect.width) // 2, (height - pause_rect.height) // 2 from turtle import * from random import random,randint os.chdir('F:/微信公众号/Python/0.已发表') screen = Screen() width ,height = 900,700 screen.setup(width,height) screen.title("告白") screen.bgcolor("black") screen.bgpic(r'./星空下互相告白的两个人2.gif') screen.mode("logo") screen.delay(0) printer = Turtle() printer.hideturtle() printer.penup() printer.color('red') printer.goto(-100,-350) printer.write("In the whole universenn",move = True, align="left", font=("Italic", 30, "bold")) printer.goto(-50,-400) printer.write("YZ I only love you!nn",move = True, align="left", font=("Italic", 30, "bold")) t = Turtle(visible = False,shape='circle') t.pencolor("white") t.fillcolor("white") t.penup() t.setheading(-90) t.goto(width/2,randint(-height/2,height/2)) stars = [] for i in range(300): star = t.clone() s =random()/3 if s>0.01 and s<0.03: star.pencolor("black") star.fillcolor("black") elif s>0.03 and s<0.04: star.pencolor("lightcoral") star.fillcolor("lightcoral") elif s>0.05 and s<0.1: star.pencolor("green") star.fillcolor("green") elif s>0.15 and s<0.16: star.pencolor("yellow") star.fillcolor("yellow") elif s>0.19 and s<0.2: star.pencolor("red") star.fillcolor("red") elif s>0.21 and s<0.22: star.pencolor("purple") star.fillcolor("purple") elif s>0.29 and s<0.3: star.pencolor("darkorange") star.fillcolor("darkorange") elif s>0.31 and s<0.32: star.pencolor("red") star.fillcolor("yellow") elif s>0.32 and s<0.33: star.pencolor("yellow") star.fillcolor("white") star.shapesize(s,s) star.speed(int(s*30)) star.setx(width/2 + randint(1,width)) star.sety( randint(-height/2,height/2)) #star.showturtle() stars.append(star) i = 0 pause = False while True: i += 0 for star in stars: star.setx(star.xcor() - 3 * star.speed()) if star.xcor()<-width/2: star.hideturtle() star.setx(width/2 + randint(1,width)) star.sety( randint(-height/2,height/2)) star.showturtle() if i>= 100: break # 查找队列事件 for event in pygame.event.get(): # 查找点击关闭窗口事件 if event.type == QUIT: sys.exit # 查找鼠标左右击事件 if event.type == MOUSEBUTTONDOWN: if event.button == 1: pause = not pause if event.button == 3: pause = not pause if event.type == KEYDOWN: if event.key == K_SPACE: pause = not pause screen1.fill(bg_rgb) if pause: pygame.mixer.music.pause() screen1.blit(pause_image, pause_rect) else: pygame.mixer.music.unpause() screen1.blit(play_image, pause_rect) pygame.display.flip() clock.tick(30)
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151效果图
注:如需上图源代码和照片,请在公众号中回复“星空下的告白”,即可免费获取。
2.照片墙#!/usr/bin/env python # encoding: utf-8 from PIL import Image import cv2 import os os.chdir(r"F:微信公众号Python30.520表白代码照片墙new") img = cv2.imread("start.jpg") height,width,channels = img.shape unit_size = 120 y_index = height//unit_size x_index = width//unit_size new_img = Image.new('RGB',(width,height),'#FFFFFF') pic_list = [] for item in os.listdir("small_pictures"): if item.endswith(".jpg") or item.endswith(".JPG") : pic_list.append(item) total = len(pic_list) x=0 y=0 for i in range(x_index*y_index): print(f"目前进度{i}/{x_index*y_index}") test = Image.open("small_pictures/" + pic_list[i%total]).resize((unit_size,unit_size), Image.ANTIALIAS) new_img.paste(test,(x*unit_size,y*unit_size)) x+=1 if x==x_index: x=0 y+=1 print("素材图合成完毕!") new_img.save("out.jpg",quality=100) src1 = cv2.imread("start.jpg") src2 = cv2.imread("out.jpg") result = cv2.addWeighted(src1,0.7,src2,0.3,0) cv2.imwrite("result.jpg",result)
123456789101112131415161718192021222324252627282930313233效果图1
效果图2
参考文献 https://zhuanlan.zhihu.com/p/77129961 https://www.cnblogs.com/ooo888ooo/p/10629205.html https://www.zhihu.com/question/306127738/answer/558080822?utm_source=wechat_session&utm_medium=social&utm_oi=1090367802518536192 1234
相关知识
HTML5七夕情人节表白网页制作【css求婚动画源码】HTML+CSS+JavaScript 程序员表白代码
100款 ❤HTML5七夕情人节表白网页源码❤ HTML+CSS+JavaScript 【建议收藏】
HTML5七夕情人节表白网页制作 (浪漫的求婚动画) HTML+CSS+JavaScript
HTML5七夕情人节表白送花网页制作(HTML+CSS+JavaScript)
七夕玫瑰花合集
HTML5七夕情人节表白网页制作【HTML5庆祝生日蛋糕烟花特效】HTML+CSS+JavaScript
❀520七夕情人节告白网页代码❀—浪漫梦幻3D相册(樱花主题)HTML+CSS+JavaScript
七夕最浪漫的表白,最真挚的感情(Python代码实现)
python浪漫表白,表白代码——绘制3D玫瑰花
七夕表白花语
网址: 七夕表白代码合集 https://m.huajiangbk.com/newsview827692.html
上一篇: 暗藏表白的生日祝福语 |
下一篇: 气球标签粉色表白告白情人节节日庆 |