社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

python多媒体制作音乐动态贺卡源代码下载

星空少儿编程培训 • 8 年前 • 1430 次点击  

""" 065_新年快乐动态音乐贺卡.py 本程序使用python3.4,需要准备枕头模块(PIL在python3中已更名为pillow模块) 制作日期:2017年元月17日 作者:李兴球,本源代码下载网址: http://www.HaLiFa.net/download/heka.rar """

from winsound import PlaySound,SND_ASYNC from turtle import * from time import sleep from random import randint

from PIL import Image, ImageSequence import time 图像 = Image.open('新年快乐.gif') #载入图片 w,h=图像.size

ImageSequence.Iterator(图象) 能返回图形中的每一帧。

index = 1 图形列表=[]

for frame in ImageSequence.Iterator(图像): #对于图形中的每一帧 文件名="新年快乐" + str(index) + ".png" frame.save(文件名) 图形列表.append(文件名) index += 1

print( "拆分gif完毕!共拆成了" + str(index-1) + "张图片")

小虹=Turtle() 小虹.pencolor("white") 小虹.penup() 小虹.speed(0) 小虹.hideturtle() 屏幕=小虹.getscreen() #得到小虹所在的画图屏幕,get是得到的意思,screen是屏幕的意思。 屏幕.setup(w,h) 屏幕.title("星空培训Python少儿编程动态音乐贺卡制作。")

屏幕.bgcolor((0,0,51)) for i in range(30): 小虹.goto(randint(-300,250),randint(-150,150)) 小虹.dot(randint(1,3))

小虹.color("cyan") 小虹.goto(-150,100) for 字 in '星空培训': 小虹.write(字,font=("微软雅黑",44,"normal")) sleep(0.3) 小虹.setx(小虹.xcor()+80)

小虹.color("yellow") 小虹.goto(-280,0) for 字 in '祝大家鸡年快乐,金鸡独立,独占鳌头!': 小虹.write(字,font=("",20,"normal")) sleep(0.2) 小虹.setx(小虹.xcor()+30)

小虹.color("white") 小虹.goto(-200,-50) for 字 in '制作日期:2017年元旦! 作者:李兴球': 小虹.write(字,font=("",10,"normal")) sleep(0.1) 小虹.setx(小虹.xcor()+20)

小虹.color("yellow") 小虹.goto(-250,-120) for 字 in '本python程序源代码下载网址:': 小虹.write(字,font=("",10,"normal")) sleep(0.1) 小虹.setx(小虹.xcor()+15)

小虹.color("yellow") 小虹.goto(-250,-150) 网址="http://www.HaLiFa.net/download/heka.rar" 小虹.write(网址,font=("",10,"normal"))

新建小明角色用来显示倒计时数字

小明=Turtle(visible=False) 小明.pencolor("yellow") 小明.goto(0,30) 倒数=5 for i in range(倒数,-1,-1): 小明.clear() 小明.write(i,align='center',font=("",50,"normal")) sleep(1)

小明.clear() 小虹.clear()

小虹.color("white") 指针=0 def 动态背景(): global 指针 屏幕.bgpic(图形列表[指针]) 指针=指针+1 指针=指针 % 5 屏幕.ontimer(动态背景,100)

动态背景()

小虹.goto(0,-230) 歌曲文件="中国娃娃 - 发财发福中国年.wav" 歌词文件="发财发福中国年歌词.lrc" 歌词列表=[] 歌词指针=0

f=open(歌词文件) 歌词=f.readlines() #由于有换行,是多余的,所以下面要去除换行 \n f.close() 歌词列表=[] for 行 in 歌词: if 行!='\n': 歌词列表.append(行)

歌词行数=len(歌词列表)

print(歌词列表)

PlaySound(歌曲文件, SND_ASYNC) #异步播放音效

def 获取时间轴(指针):
songtime=歌词列表[指针] songtime=songtime.split("]")[0] songtime=songtime.split(":") songtimef=songtime[0][1:3] songtimef=int(songtimef)60
songtimem=float(songtime[1]) return int((songtimef+songtimem)
1000)

for i in range(歌词行数):

#print(获取时间轴(i)) print("歌词行数:" + str(歌词行数))

歌词指针=0 开始时间=time.time() def 显示字幕(): global 歌词指针 global 歌词行数

当前时间=time.time()
运行时间=(当前时间-开始时间)*1000
屏幕.title("星空培训Python少儿编程动态音乐贺卡制作。" + str(运行时间))
if 获取时间轴(歌词指针)<运行时间:
    小虹.clear()
    显示歌词=歌词列表[歌词指针].split("]")[1]
    小虹.goto(0,-230)
    小虹.pencolor("black")
    小虹.write(显示歌词,align='center',font=("",24,"normal"))
    小虹.goto(-1,-229)
    小虹.pencolor("white")
    小虹.write(显示歌词,align='center',font=("",24,"normal"))

    print("当前歌词指针:" + str(歌词指针) + ",歌词:" + 显示歌词) 
    歌词指针=歌词指针+1
if 歌词指针<歌词行数:        
    屏幕.ontimer(显示字幕,100)

显示字幕()

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/1765
 
1430 次点击