利用Python实现好看的水波特效

目录
  • 前言
  • 一、运行环境
  • 二、效果展示
    • 1)第一组随机风景图
    • 2)第二组人物随机图
    • 3)第三组真人图片
  • 三、代码展示

前言

你的心要如溪水般柔软,你的眼波要像春天般明媚。

——余光中

​似乎很少看见湍急的溪流,多数时候,溪水总是潺潺地流着,不疾不徐,有自己的节奏;

也似乎很少看见污浊的溪流,多数时候,溪水总是澄澈见底,偶尔拔起沙石,也很快能静置溪底,重归明净。

一个像溪水的人,多半是通透清明的,他知道如何过滤掉和沉落生命中的杂质,以一颗澄澈的心,往自己的方向流去。

描写了这么多关于水的诗句,你是否能清楚的表达,了解水是怎样流动的呢?

今天小编就用代码描写我心目中的水流是怎样的,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()

到此这篇关于利用Python实现好看的水波特效的文章就介绍到这了,更多相关Python水波特效内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 基于Matlab实现水波倒影特效的制作

    目录 1.使用效果 2.图像翻转及白化 3.波纹图像构造 4.扭曲置换 5.图像拼接 6.完整代码 1.使用效果 2.图像翻转及白化 导入图像: % 图片导入 oriPic=imread('test.jpg'); [Row,Col,~]=size(oriPic); 翻转及白化图像: 翻转就是单纯的将行索引倒过来: 白化就是将当前像素的颜色按比例和白色取个带权均值,行索引越大白色权重也越大,图像也就越白. % 图片翻转及白化 ====================================

  • python 实现图片特效处理

    目录 一.黑白特效 二.流年特效 三.旧电影特效 四.反色特效 前言: 对于 ​图片处理​,在日常生活中我们常常能够看到. 比如发个朋友圈之前,我们需要给自己的​照片加个滤镜​:在上传头像时候,需要​对照片进行裁剪​,这些都是图片的处理. 待处理的原图: 一.黑白特效 将图片处理后,变为黑白颜色 把像素的R,G,B三个通道数值都置为:​​r*0.299+g*0.587+b*0.114​​ 效果 黑白特效: 代码:  #!/usr/bin/env python # encoding: utf-8

  • Android实现水波纹特效

    最近需要做个类似于水波纹动画的效果,思考了一下不需要UI切个动态图,Android原生的技术利用动画或者自定义控件都可以实现,下面上个图类似于这样的效果 下面请看第一种动画实现,这种方式较为简单些,就是利用3个ImageView不断地做缩放和渐变的动画. 布局文件定义一下 <RelativeLayout android:id="@+id/rl" android:layout_width="match_parent" android:layout_height=

  • JS实现很酷的水波文字特效实例

    本文实例讲述了JS实现很酷的水波文字特效.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <html> <head> <title>JS实现很酷的水波文字效果</title> </head> <body bgcolor="#000000" onLoad="if (document.all)wave()"> <center> <div id='water' sty

  • Python 实现图像特效中的油画效果

    目录 一 基本原理 二 代码实现 三 总体实现代码以及保存  在前面的文章Python 计算机视觉(十五)-- 图像特效处理中我已经介绍了大部分的图像的特效处理,但还是忽略了油画特效的处理,在本篇文章中简单介绍一下油画特效的基本原理以及代码实现,感兴趣的小伙伴可以跟着码一遍代码,或者使用代码直接运行查看一下效果就行. 一 基本原理 如下面的两幅图所示,油画用对了地方会使得图像一下子显得文艺起来了呢! 拍出的图像 转化为油画 那么将一幅图像转化为油画类型的图案是怎么实现的呢?为了将一幅普通的图像转

  • python 实现波浪滤镜特效

    本文用 Python 实现 PS 滤镜的波浪特效 import numpy as np from skimage import img_as_float import matplotlib.pyplot as plt from skimage import io import numpy.matlib import math # 图片位置 file_name2='D:/Visual Effects/PS Algorithm/4.jpg' img=io.imread(file_name2) img

  • 利用Python实现好看的水波特效

    目录 前言 一.运行环境 二.效果展示 1)第一组随机风景图 2)第二组人物随机图 3)第三组真人图片 三.代码展示 前言 你的心要如溪水般柔软,你的眼波要像春天般明媚. ——余光中 ​似乎很少看见湍急的溪流,多数时候,溪水总是潺潺地流着,不疾不徐,有自己的节奏: 也似乎很少看见污浊的溪流,多数时候,溪水总是澄澈见底,偶尔拔起沙石,也很快能静置溪底,重归明净. 一个像溪水的人,多半是通透清明的,他知道如何过滤掉和沉落生命中的杂质,以一颗澄澈的心,往自己的方向流去. 描写了这么多关于水的诗句,你是

  • 利用Python绘制好看的玫瑰花图

    目录 一.基本极坐标图 二.极半径图 参数介绍 三.画玫瑰花图 AngleAxisOpts参数介绍: TooltipOpts参数介绍: 开始画玫瑰花图 今天主要给大家介绍如何用pyecharts画各种漂亮的数学图形 一.基本极坐标图 说简单点,基本极坐标图就是圆形的散点图(柱状图或折线图),代码如下: import random from pyecharts import options as opts from pyecharts.charts import Polar data = [(i,

  • 利用python 制作词云特效详情

    目录 一.特效预览 二.程序原理 三.程序源码 什么是 ​词云​ ​词云​ 其实就是就是对网络文本中出现频率较高的〝关键词〞予以视觉上的突出,形成〝关键词云层〞或〝关键词渲染〞从而过滤掉大量的文本信息 ​词云​ 也是数据可视化的一种形式.给出一段文本,根据关键词的出现频率而生成的一幅图像,人们只要扫一眼就能够明白其文章主旨. 一.特效预览 词云图: 二.程序原理 从给出的文本中,进行分词处理,然后将每个词出现的的频率进行统计 从给出的背景图片上,读出图片信息 将文本按照出现的频率进行画图,出现频

  • Python实现PS滤镜碎片特效功能示例

    本文实例讲述了Python实现PS滤镜碎片特效功能.分享给大家供大家参考,具体如下: 这里用 Python 实现 PS 滤镜中的碎片特效,这个特效简单来说就是将图像在 上,下,左,右 四个方向做平移,然后将四个方向的平移的图像叠加起来做平均.具体的效果图与说明可参考附录说明 from skimage import img_as_float import matplotlib.pyplot as plt from skimage import io file_name='D:/Visual Eff

  • 利用python中的matplotlib打印混淆矩阵实例

    前面说过混淆矩阵是我们在处理分类问题时,很重要的指标,那么如何更好的把混淆矩阵给打印出来呢,直接做表或者是前端可视化,小编曾经就尝试过用前端(D5)做出来,然后截图,显得不那么好看.. 代码: import itertools import matplotlib.pyplot as plt import numpy as np def plot_confusion_matrix(cm, classes, normalize=False, title='Confusion matrix', cma

  • 如何利用Python写个坦克大战

    前言 坦克大战是一款策略类的平面射击游戏,于 1985 年由 Namco 游戏公司发布,尽管时至今日已经有了很多衍生类的游戏,但这款游戏仍然受到了相当一部分人的欢迎,本文我们看一下如何使用 Python 来实现这款游戏,游戏实现主要用到的 Python 库为 pygame. 简介 坦克大战的组成主要包括:场景.坦克.子弹.食物.大本营,其本质就是一个塔防类的游戏,游戏目标为:守住大本营并且消灭敌方坦克,通常支持单双人模式,下面我们来看一下具体实现. 实现 首先,我们来实现游戏场景,场景的组成主要

  • 利用Python matplotlib绘制风能玫瑰图

    概述 在之前的风资源分析文章中,有提到过用widrose包来进行玫瑰图的绘制,目前的可视化绘图包有很多,但是最基础和底层的,本人认为还是matplotlib,有时候为了画1-2个图就去安装一个包,好麻烦,我就是个安装软件的渣渣,所以,推己及人,我也研究了一下,matplotlib画玫瑰图的方法,废话不多说,开始咯~~~ 风能玫瑰图 玫瑰图是气象科学专业统计图表,用来统计某个地区一段时期内风向.风速发生频率,又分为"风向玫瑰图"和"风速玫瑰图".本文中的玫瑰图是将风速

  • 利用 Python 让图表动起来

    目录 用Matplotlib和Seaborn这类Python库可以画出很好看的图,但是这些图只是静态的,难以动态且美观地呈现数值变化.要是在你下次的演示.视频.社交媒体Po文里能用短视频呈现数据变化,是不是很赞呢?更棒的是,你还是可以在你的图表上用Matplotlib.Seaborn或者其他库! 本文将使用美国国家药物滥用研究所和疾病预防控制中心公布的阿片类药物数据,可在此处下载:https://http://www.drugabuse.gov/sites/default/files/overd

  • 利用python/R语言绘制圣诞树实例代码

    目录 Python R语言 总结 圣诞节快到了,想着用python.r来画画圣诞树玩,就在网络上各种找方法,不喜勿喷哈~~ Python 1. import turtle screen = turtle.Screen() screen.setup(800,600) circle = turtle.Turtle() circle.shape('circle') circle.color('red') circle.speed('fastest') circle.up() square = turt

  • 利用Python轻松生成艺术签名

    目录 一.写在前面 二.先看看效果 三.代码展示 1.需要用到的模块 2.窗口名字/图标/大小/布局 3.必要组件的定义 4.输入框 5.保存/生成按钮 6.下拉框 7.组件布局 8.事件绑定 9.生成签名 10.更新界面上的图片 11.签名保存 12.run 四.全部代码 一.写在前面 很多兄弟觉得自己字写的不好什么的,没事,咱们直接用python来生成,对着多练练就能写出一手好看的艺术签名了,小姐姐看了直呼好看~ 二.先看看效果 可以选择字体.颜色,这里我们用默认的看看的效果. 啊这,一笔学

随机推荐