html5绘制心形图案,HTML5/Canvas 渐变色彩的心形图案
JavaScript
语言:
JaveScriptBabelCoffeeScript
确定
window.requestAnimFrame = (function() {
return window.requestAnimationFrame ||
window.webkitRequestAnimationFrame ||
window.mozRequestAnimationFrame ||
window.oRequestAnimationFrame ||
window.msRequestAnimationFrame ||
function(callback) {
window.setTimeout(callback, 1000 / 60);
};
})();
var c = document.getElementById('canv');
var $ = c.getContext('2d');
var w = c.width = window.innerWidth;
var h = c.height = window.innerHeight;
var w2 = w * 0.5;
var h2 = h * 0.5;
var u = 0;
var hearts = [];
var hp = [
[-14, -81, -149, -94, -167, 0],
[-184, 95, -28, 157, 0, 250],
[28, 157, 184, 95, 167, 0],
[149, -94, 14, -81, 0, 0]
];
function Love() {
document.body.appendChild(c);
function anim() {
one0one();
requestAnimFrame(anim);
}
for (var i = 0; i < 101; i++) {
var heart = new Heart(w2, h2 - 180, 1.5 + (0.15 * (i - 101) / (i + 1.5)));
hearts.push(heart);
}
anim();
}
function one0one() {
$.clearRect(0, 0, w, h);
$.globalCompositeOperation = "xor";
u -= 0.5;
for (var i = 0; i < hearts.length; i++) {
hearts[i].render($);
}
}
function Heart(x, y, s) {
this.x = x || w2;
this.y = y || h2;
this.s = s || 1;
this.render = function($) {
$.beginPath();
$.fillStyle = 'hsl(' + u + ', 77%, 46%)';
$.moveTo(this.x, this.y);
for (var i = 0; i < 4; i++) {
$.bezierCurveTo(hp[i][0] * this.s + this.x, hp[i][1] * this.s + this.y, hp[i][2] * this.s + this.x, hp[i][3] * this.s + this.y, hp[i][4] * this.s + this.x, hp[i][5] * this.s + this.y);
}
$.closePath();
$.fill();
};
}
Love();
html5绘制心形图案,HTML5/Canvas 渐变色彩的心形图案相关推荐
- html5绘制运动的图形,html5 canvas高级贝塞尔曲线运动动画
canvas高级贝塞尔曲线运动动画 window.addEventListener('load',eventWindowLoaded,false);functioneventWindowLoaded( ...
- html5绘制节点链接,利用HTML5实现网状结构节点动画特效
特效描述:利用HTML5实现 网状结构 节点动画特效.利用HTML5实现网状结构节点动画特效 代码结构 1. HTML代码 (function() { var canvas, ctx, circ, n ...
- HTML5 Canvas 高仿逼真 3D 布料图案效果
HTML5 规范引进了很多新特性,其中最令人期待的之一就是 Canvas 元素,HTML5 Canvas 提供了通过 JavaScript 绘制图形的方法,非常强大.下面给大家分享一个 HTML5 C ...
- html canvas图片上绘制文字,如何用HTML5 CANVAS绘制文字
您可能感兴趣的话题: 绘制文字 核心提示:如何在HTML5 canvas上绘制绘制文字,并且可以设置文字的字体,大小和颜色. 我们可以在HTML5 canvas上绘制绘制文字,并且可以设置文字的字体, ...
- html5绘制五环,浅析HTML5的Canvas——案例绘制
1. Canvas绘制五环 //1.获取canvas和上下文 var canvas = document.getElementById('canvas'); var ctx = canvas.getC ...
- HTML5 基础知识,第 3 部分 HTML5 API 之应用-介绍HTML5 API 的用法和价值,Canvas 提供的创造性,以及Web storage的离线应用
HTML5 集设计者和开发者于一身,其主要任务就是构建高效的丰富 Internet 应用程序之富网络应用 (Rich Internet Application,简称RIA),尤其是富 UI(User ...
- 用HTML5绘制的一个星空特效图
<!doctype html> <html lang="en"> <head><meta charset="UTF-8" ...
- HTML5 学习总结(四)——canvas绘图、WebGL、SVG
目录 一.Canvas 1.1.创建canvas元素 1.2.画线 1.3.绘制矩形 1.4.绘制圆弧 1.5.绘制图像 1.6.绘制文字 1.7.随机颜色与简单动画 二.WebGL 2.1.HTML ...
- html制作星空,HTML5绘制星空
HTML5绘制一个很丑的星空 canvas{display: block;border:1px dotted skyblue;} HTML5绘制星空 var nimo={}; window.οnlοa ...
- html5 绘制图形,HTML5绘制几何图形
绘制几何图形 var canvas = document.getElementById("myCanvas"); var ctx = canvas.getContext(" ...
最新文章
- Java 初始化顺序
- 荣发护肤护甲增强配方 Hair, Skin and Nails Plus 100 tablets
- 根据当前记录获取前一条与下一条记录常用 sql语句
- 时间怎么算用计算机,抖音珍惜时间计算器怎么用
- 怎么把页面按比例缩小_meta viewport 是做什么用的,怎么写?
- c python 传参数 数组_python函数传递数组参数吗
- django 钉钉扫码登录
- 《腾讯iOS测试实践》一一1.8 小结
- Servlet、Listener、Filter、JSP
- 权重计算方法三:变异系数法(Coefficient of Variation)
- 基于MATLAB的任意多边形最小外接圆计算
- catia制作物料明细_CATIA课时:符合GB的物料清单模板设置视频教程_翼狐网
- 凝思6.0.60操作系统编译安装sqliteman(版本1.2.2)
- spring data jpa 使用@Query 动态参数查询案例分析
- :Java+MySQL基于ssm的餐厅饭店前台点菜订餐系统vue
- can协议crc计算_CAN协议中CRC编码的硬件实现
- 【回眸】牛客网刷刷刷!嵌入式软件中也会遇到的嵌入式硬件,通讯,通讯协议专题(一)
- 微信小程序图片404时显示默认图片
- 学如逆水行舟,不进则退。
- 如何查看wsdl文档