canvas绘画交叉波浪
做个记录,自己写的动态效果,可能以后用的着呢;
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
#canvas{
margin: auto;
border: 1px solid #f98974;
/*background: cornflowerblue;*/
}
</style>
</head>
<body>
<canvas id="canvas" width="" height=""></canvas>
<script type="text/javascript">
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
var speed = ; wave = ; level = Math.PI/; wave2 = ;
ctx.translate(,);
ctx.lineWidth = ;
function drawSin(speed,wave){
ctx.beginPath();
var gradient=ctx.createLinearGradient(,,,);
gradient.addColorStop("","magenta");
gradient.addColorStop("0.9","skyblue");
ctx.strokeStyle = "rgba(51,133,254,.7)";
ctx.fillStyle = "rgba(237,107,3,.8)";
ctx.moveTo(,);
for (var x=; x<; x++) {
var y = Math.sin(x*level+speed*)*wave;
ctx.lineTo(x,y);
}
ctx.lineTo(,)
// ctx.stroke();
ctx.fill();
};
function drawSin2(speed,wave){
ctx.beginPath();
ctx.strokeStyle = "yellow";
ctx.fillStyle = "yellow";
for (var x=; x<; x++) {
var y = Math.sin(x*level+speed+Math.PI/)*wave;
ctx.lineTo(x,y);
}
ctx.stroke();
ctx.fill();
};
function drawSin3(speed,wave){
ctx.beginPath();
ctx.strokeStyle = "aliceblue";
ctx.fillStyle = "rgba(237,107,3,.5)";
ctx.moveTo(,);
for (var x=; x<; x++) {
var y = Math.sin(x*level+speed*+Math.PI/)*wave2;
ctx.lineTo(x,y);
}
ctx.lineTo(,);
// ctx.stroke();
ctx.fill();
};
setInterval(function(){
speed++;
console.log(wave);
ctx.clearRect(,-,,);
drawSin(speed,wave);
// drawSin2(speed,wave);
drawSin3(speed,wave);
},);
</script>
</body>
</html>

canvas绘画交叉波浪的更多相关文章
- Canvas之动态波浪效果_陈在真Sunny_chen_新浪博客
Canvas之动态波浪效果_陈在真Sunny_chen_新浪博客 Canvas之动态波浪效果 (2012-04-26 09:04:51) 转载▼
- 浅谈canvas绘画王者荣耀--雷达图
背景: 一日晚上下班的我静静的靠在角落上听着歌,这时"滴!滴!"手机上传来一阵qq消息.原来我人在问王者荣耀的雷达图在页面上如何做出来的,有人回答用canvas绘画.那么问题来了, ...
- 开发Canvas 绘画应用(四):实现拖拽绘画
在开发Canvas绘画应用(三):实现对照绘画中,我们实现了视图引导的第一部分,这一篇我们来完成第二部分,即将图片直接拖到画布上进行绘画. ✁ 拖放如何实现? [拖放的基本概念]:创建一个绝对定位的元 ...
- 开发Canvas 绘画应用(三):实现对照绘画
需求分析 在我的毕设中,提出了视图引导的概念,由两部分功能组成: (1)可以对照着图片进行绘画,即将图片以半透明的方式呈现在绘图板上,然后用户可以对照着进行绘画: (2)可以直接将简笔画图片直接拖拽到 ...
- 开发Canvas 绘画应用(二):实现绘画
开发Canvas 绘画应用(一):搭好框架 中我们已经把基本框架及基础功能实现了,现在要实现本应用的重点:绘画功能. 首先分析一下,我们要实现绘画,需要具备的理论知识如下: (1)获取触摸点的坐标 类 ...
- 开发Canvas 绘画应用(一):搭好框架
毕业汪今年要毕业啦,毕设做的是三维模型草图检索,年前将算法移植到移动端做了一个小应用(利用nodejs搭的服务),正好也趁此机会可以将前端的 Canvas 好好学一下~~毕设差不多做完了,现将思路和代 ...
- html5 canvas绘画时钟
本示例使用HTML5 canvas,模拟显示了一个时钟, 请使用支持HTML5的浏览器预览效果: HTML部分: <!DOCTYPE html> <html lang="e ...
- Canvas绘画功能(待补充)
由于项目的前端需要用户手绘输入,所以我们利用Canvas控件做绘画面板,并且实现了许多功能,包括手绘笔画,清空画板,上传手绘图,下载手绘图,记录用户笔画,上传背景图.以后有时间都写到这篇博客中,今天晚 ...
- canvas 绘画随机点
直接看图吧: 这样的随机点,是小圆点组成的,然后一直在动,记录一下,万一以后要用到呢: canvas的具体设置我就不写了,另一篇文档里有: drawRandomDot () { let leftCan ...
随机推荐
- OS之内存管理 --- 虚拟内存管理(一)
虚拟内存的背景 在基本的内存管理策略中,所有的策略的相同点都是:每个进程在执行之前需要完全处于内存中.那有没有一种方法可以不需要将进程所有页面加载到内存中就可以开始运行进程呢?有没有可能在进程需要某些 ...
- flask_mail发送邮件(附源码)
文章介绍如何用flask_mail发送QQ邮件,发送其它邮箱简单的更改相应配置即可 传送门:源代码 源代码地址:https://github.com/1417766861/flask_mail 首先展 ...
- odoo开发笔记 -- 异常信息处理汇总
1 Traceback (most recent call last): File , in _handle_exception return super(JsonRequest, self)._ha ...
- 【JAVA】枚举
枚举(enum)类型是Java 5新增的特性,它是一种新的类型,允许用常量来表示特定的数据片断,而且全部都以类型安全的形式来表示. 1.常量的使用 在JDK1.5之前,我们定义常量都是:public ...
- Vue源码翻译之组件初始化。
废话不多说. 我们先来看看Vue的入口文件. import { initMixin } from './init' import { stateMixin } from './state' impor ...
- vmrun 批量创建vmware虚拟机
1 准备模板机 具体步骤如下: 1. 下载镜像安装系统 https://mirrors.aliyun.com/centos/7.5.1804/isos/x86_64/ 2. 安装完成配置好IP ,关闭 ...
- Linux 启动过程详解
目录 1. Linux启动过程 2. 启动过程概述 3. 引导加载阶段 4. 内核阶段 4.1 内核加载阶段 4.2 内核启动阶段 5. 早期的用户空间 6. 初始化过程 6.1 SysV init ...
- tomcat配置说明,配置不用访问工程名
# 配置项目访问不用输入项目名称 # [重要]亲测 <Host>中的 appBass="" 一定不能带目录,必须为空,因为启动tomcat会启动appBass下面的所有 ...
- Python多版本管理器-pyenv 介绍及部署记录
一. pyenv简单介绍 在日常运维中, 经常遇到这样的情况: 系统自带的Python是2.x,而业务部署需要Python 3.x 环境, 此时需要在系统中安装多个Python版本,但又不能影响系统自 ...
- Spring Aop 注解方式参数传递
v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VM ...