HTML5 Canvas

<canvas>标签定义图形,比如图表和其他图像,必须用脚本(javascript)绘制图形.

举例:绘制矩形

<script>
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d"); //找到canvas元素
ctx.fillStyle = "#FF0000"; //创建context对象
ctx.fillRect(0,0,150,75);
//getContext("2d") 对象是内建的 HTML5 对象,拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。下面的两行代码绘制一个红色的矩形:
//设置fillStyle属性可以是CSS颜色,渐变,或图案。fillStyle 默认设置是#000000(黑色)。
//fillRect(x,y,width,height); 定义去腥的填充方式
</script>

打造Canvas粒子动画

效果:

aaarticlea/png;base64,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" alt="" />

创建步骤:

<canvas id="myCanvas" width="900" height="592">您的浏览器不支持canvas</canvas>
<script>
/**
* 参数描述
* image:image或者canvas对象
* sx,sy 源对象的x,y坐标 可选
* sWidth,sHeight 源对象的宽高 可选
* dx,dy画布上x,y坐标
* dWidth,dHeight 在画布上绘制的宽高 可选
* stx.drawImage(image,sx,sy,sWidth,sHeight,dx,dy,dWidth,dHeight);
*/
(function(){
var canvas = {},
image = {},
ctx = null;
var particles = [];
//获取canvas元素
var canvas = document.getElementById('myCanvas'); if(canvas.getContext) { //获取渲染上下文
ctx = canvas.getContext('2d'); //设置画布大小为屏幕宽高
canvas.w = canvas.width = document.body.clientWidth;
canvas.h = canvas.height = document.body.clientHeight; // console.log(canvas); //新建一个image对象
var img = new Image(); //图像加载完后
img.onload = function() {
//把图像信息保存在image里面
image.obj = img;
image.w = img.width;
image.h = img.height;
image.x = parseInt(canvas.w/2 - image.w/2);
image.y = 150; //把图像绘制到画布坐标为(100,100)的地方
ctx.drawImage(image.obj,image.x,image.y,image.w,image.h);
// 获取图像的像素信息,并根据像素信息重新绘制出粒子效果轮廓图,canvas有一个叫getImageData的接口,通过该接口可以获取到画布上指定位置的全部像素的数据:
image.imageData = ctx.getImageData(image.x,image.y,image.w,image.h);
console.log(image.imageData);
//
//计算出符合要求的像素
calculate(); //计算后绘到画布上
draw();
}; //设置image的source
img.src = 'img/pumpkin_evil.png'; }
//计算并保存坐标
function calculate() {
var len = image.imageData.length;
//只保存100行,100列的像素值
var cols = 100,
rows = 100;
//设成150行,100列后每个单元的宽高
var s_width = parseInt(image.w/cols),
s_height = parseInt(image.h/rows);
var pos = 0; //数组中的位置
var par_x, par_y; //粒子的x,y坐标
var data = image.imageData.data; //像素值数组
for(var i = 0; i < cols; i++) {
for(var j = 0; j < rows; j++) {
//计算(i,j)在数组中的R的坐标值
pos = (j*s_height*image.w + i*s_width)*4;
//判断像素透明度值是否符合要求
if(data[pos+3] > 100){
var particle = {
//x,y值都随机一下
x: image.x + i*s_width + (Math.random() - 0.5)*20,
y: image.y + j*s_height + (Math.random() - 0.5)*20
}
// 根据图像不同的色值来设定粒子色值
if(data[pos+1] < 175 && data[pos+2] < 10) {
particle.fillStyle = '#ffa900';
} else if(data[pos+1] < 75 && data[pos+1] > 50) {
particle.fillStyle = '#ff4085';
} else if(data[pos+1] < 220 && data[pos+1] > 190) {
particle.fillStyle = '#00cfff';
} else if(data[pos+1] < 195 && data[pos+1] > 175) {
particle.fillStyle = '#9abc1c';
}
//符合要求的粒子保存到数组里
particles.push(particle);
}
}
}
} //绘图案
function draw() {
//清空画布
ctx.clearRect(0,0,canvas.w,canvas.h); var len = particles.length;
var curr_particle = null; for(var i = 0; i < len; i++) { curr_particle = particles[i]; //设置填充颜色
ctx.fillStyle = curr_particle.fillStyle;
//绘粒子到画布上
ctx.fillRect(curr_particle.x,curr_particle.y,1,1);
}
}
})() </script>

转载:https://isux.tencent.com/canvas-particle-animation.html

打造高大上的Canvas粒子(一)的更多相关文章

  1. JParticles 2.0 发布,打造炫酷的粒子特效

    JParticles 2.0 发布,打造炫酷的粒子特效.不好意思哈,在这么繁花似锦的世界里,标题不得不取得吸引眼球一点哈,不然...还是不啰嗦了,我们进入正题吧 简单介绍一下 JParticles 2 ...

  2. CodePen 作品秀:Canvas 粒子效果文本动画

    作品名称——Shape Shifter,基于 Canvas 的粒子图形变换实验.在页面下方的输入框输入文本,上面就会进行变换出对应的粒子效果文本动画. CodePen 作品秀系列向大家展示来自 Cod ...

  3. canvas粒子时钟

    前面的话 本文将使用canvas实现粒子时钟效果 效果展示 点阵数字 digit.js是一个三维数组,包含的是0到9以及冒号(digit[10])的二维点阵.每个数字的点阵表示是7*10大小的二维数组 ...

  4. 炒鸡简单的canvas粒子(山东数漫江湖)

    位图的canvas一直不会被svg比下去的原因了. 俗话说,须弥芥子,是大小之说,也有以小见大之说,颗颗粒子,足以构建宏大效果. 这是一篇炒鸡简单的canvas粒子教程,主要是讲如何粒子特效的原理,一 ...

  5. html5 canvas 粒子特效

    不知不觉就已经好久没写过博客了,自从七月正式毕业后,离开了实习了将近九个月的老东家,进了鼠厂后,做的事都是比较传统的前端活,之前在tpy的时候只管做移动h5的特效以及小游戏,再加上实习所以时间比较充裕 ...

  6. canvas 粒子效果

    var canvas = document.createElement('canvas'); var cxt = canvas.getContext('2d'); var W = canvas.wid ...

  7. 基于HTML5 Canvas粒子效果文字动画特效

    之前我们分享过很多超酷的文字特效,其中也有利用HTML5和CSS3的.今天我们要来分享一款基于HTML5 Canvas的文字特效,输入框中输入想要展示的文字,回车后即可在canvas上绘制出粒子效果的 ...

  8. canvas粒子线条效果

    在正式开始之前,先上个效果图看看: 很酷炫有木有??? 那么如何实现这个效果呢? 首先,我做这个特效的基本步骤是这样的: 1.将若干个粒子随机分布在画布(canvas)上,并且给他们一个初始速度 2. ...

  9. js canvas 粒子动画 电子表

     前言 从我接触canvas的第一天就觉得canvas很有趣,想搞点事情,这几天终于忍不住了,于是他来了. 先看效果                       这里我做了四个大家有兴趣可以看完文章, ...

随机推荐

  1. Struts2 框架下 session 读出来为null

    我用的strust2框架,开始的时候这么写的: 在 登陆函数中(注释部分): public String dealerLogin(){        EntityInfo entityinfo=dea ...

  2. 使用NSURLSession

    NSURLConnection在iOS9被宣布弃用,NSURLSession从13年发展到现在,终于迎来了它独步江湖的时代.NSURLSession是苹果在iOS7后为HTTP数据传输提供的一系列接口 ...

  3. 字节流和字符流(BufferedReader类和BufferedWriter类)

    一般情况下,为了提高字符文件读/写效率,通常需要为文件读/写器添加一个缓冲读/写器,分别为BufferedReader类和BufferedWriter类. 1:BufferedReader类 假如上面 ...

  4. 20145320 《Java程序设计》第8周学习总结

    20145320 <Java程序设计>第8周学习总结 教材学习内容总结 15.1日志 java.util.logging包提供了日志功能相关类与接口,不必额外配置日志组件,就可以在标准ja ...

  5. Leetcode: Find Right Interval

    Given a set of intervals, for each of the interval i, check if there exists an interval j whose star ...

  6. Redis linux 下安装 及扩展配置

    1.首先在/usr/local/ 创建文件夹 reids Cd /usr/local/ mkdir redis 2.把redis安装包放在redis目录下面进行解压phpredis-2.2.4.tar ...

  7. asp获取文件名和扩展名的函数代码

    <% '获取文件名(不含扩展名) Function getFilename(text)text = Left(text,inStrRev(text,".")-1)getFil ...

  8. TCP、UDP、IP协议分析

    此篇文章的原创作者是:草根老师博客(程姚根) chengyaogen.blog.chinaunix.net 感谢原作者! 互连网早期的时候,主机间的互连使用的是NCP协议.这种协议本身有很多缺陷,如: ...

  9. 安装第三方库出现 Python version 2.7 required, which was not found in the registry

    安装第三方库出现 Python version 2.7 required, which was not found in the registry 建立一个文件 register.py 内容如下. 然 ...

  10. org.eclipse.jdi.TimeoutException: Timeout occurred while waiting for packet 421. occured resuming VM.

    环境: 导入excel的时候,会根据路径,读取EXCEL的数据. 原因: 电脑上的防火墙关闭