前言
你的心要如溪水般柔软,你的眼波要像春天般明媚。
——余光中
似乎很少看见湍急的溪流,多数时候,溪水总是潺潺地流着,不疾不徐,有自己的节奏;
也似乎很少看见污浊的溪流,多数时候,溪水总是澄澈见底,偶尔拔起沙石,也很快能静置溪
底,重归明净。
一个像溪水的人,多半是通透清明的,他知道如何过滤掉和沉落生命中的杂质,以一颗澄澈的
心,往自己的方向流去。
正文
描写了这么多关于水的诗句,你是否能清楚的表达,了解水是怎样流动的呢?
今天小编就用代码描写我心目中的水流是怎🐏滴👇Python代码模拟水的波动开始啦👇
一、运行环境
1)环境安装👇
Python3、 Pycharm 、Pygame模块部分自带模块就不展示啦。(如需安装包、激活码等直接
私信我即可安装问题解答都可以的哈~)
第三方库的安装:
pip install pygame 或者
带镜像源 pip install -i https://pypi.douban.com/simple/ +模块名
二、效果展示
截图的貌似展示不出来水的波动效果,嗨没办法 有点儿懒,就没拍视频,大家将就着看叭
真的视频效果好好看滴!👇是随水波荡漾的~
1)第一组随机风景图
2)第二组人物随机图
3)第三组真人图片
三、代码展示
"""照片模拟水的波动效果"""
import pygame, os
from pygame.locals import *
from math import sin # 导入正弦函数的工具箱
import time
main_dir = os.path.split(os.path.abspath(__file__))[0] # 获取当前文件所在路径
def main():
pygame.init() # 初始化
screen = pygame.display.set_mode((640, 480), HWSURFACE|DOUBLEBUF) # 生成一个窗口
imagename = os.path.join(main_dir, 'data', 'liquid.bmp') # 拼接图片路径
bitmap = pygame.image.load(imagename) # 加载图片
bitmap = pygame.transform.scale2x(bitmap) # 将图像放大两倍
bitmap = pygame.transform.scale2x(bitmap) # 将图像放大两倍
if screen.get_bitsize() == 8: # 以相同的格式获取图像和屏幕
screen.set_palette(bitmap.get_palette())
else:
bitmap = bitmap.convert()
anim = 0.0
while 1:
for e in pygame.event.get(): # 处理事件
if e.type in [QUIT, KEYDOWN, MOUSEBUTTONDOWN]:
return
anim = anim + 0.02
for x in range(0,640,20): # 模拟水的波动效果
xpos = (x + (sin(anim + x * .01) * 15)) + 20
for y in range(0, 480, 20):
ypos = (y + (sin(anim + y * .01) * 15)) + 20
screen.blit(bitmap, (x, y), (xpos, ypos, 20, 20))
pygame.display.flip() # 更新
time.sleep(0.01) # 等待0.01s
if __name__ == '__main__':
main()
总结
“你一定要站在自己所热爱的世界里闪闪发光。” ——文案
好啦~水波特效只有这么多代码啦,要自己动手试试嘛?👇
✨完整的素材等:也可以滴滴我吖!或者点击文末自取免费拿的哈~
😘往期推荐阅读——
项目0.1【Opencv实战】素描,要画出感觉,比如像这样画:画啥啥都好看(建议保存)
项目0.2【Opencv实战】废片变宝,怎样将照片调出烟雨油画的效果?试试这个特效,超赞
项目0.4
【Opencv实战】刷爆朋友圈的特效“人物动漫化”是什么鬼?今天教你涨姿势—网友狂喜:我要学习,不许拦我
项目0.5 【Opencv实战】这是我见过的最强大“美颜滤镜”,代码美颜傻瓜式一键操作~(附源码)
🎁文章汇总——
汇总: Python文章合集 | (入门到实战、游戏、Turtle、案例等)
(文章汇总还有更多你案例等你来学习啦~源码找我即可免费!)
版权归原作者 嗨!栗子同学 所有, 如有侵权,请联系我们删除。