html5实现canvas阴影效果示例


Posted in HTML / CSS onMay 07, 2014

在HTML5中实现Canvas阴影效果

html5实现canvas阴影效果示例

复制代码
代码如下:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="chrome=IE8">
<meta http-equiv="Content-type" content="text/html;charset=UTF-8">
<title>Canvas Clip Demo</title>
<link href="default.css" rel="stylesheet" />
<script>
var ctx = null; // global variable 2d context
var imageTexture = null;
window.onload = function() {
var canvas = document.getElementById("text_canvas");
console.log(canvas.parentNode.clientWidth);
canvas.width = canvas.parentNode.clientWidth;
canvas.height = canvas.parentNode.clientHeight;

if (!canvas.getContext) {
console.log("Canvas not supported. Please install a HTML5 compatible browser.");
return;
}
var context = canvas.getContext('2d');

// section one - shadow and blur
context.fillStyle="black";
context.fillRect(0, 0, canvas.width, canvas.height/4);
context.font = '60pt Calibri';

context.shadowColor = "white";
context.shadowOffsetX = 0;
context.shadowOffsetY = 0;
context.shadowBlur = 20;
context.fillText("Blur Canvas", 40, 80);
context.strokeStyle = "RGBA(0, 255, 0, 1)";
context.lineWidth = 2;
context.strokeText("Blur Canvas", 40, 80);

// section two - shadow font
var hh = canvas.height/4;
context.fillStyle="white";
context.fillRect(0, hh, canvas.width, canvas.height/4);
context.font = '60pt Calibri';

context.shadowColor = "RGBA(127,127,127,1)";
context.shadowOffsetX = 3;
context.shadowOffsetY = 3;
context.shadowBlur = 0;
context.fillStyle = "RGBA(0, 0, 0, 0.8)";
context.fillText("Blur Canvas", 40, 80+hh);

// section three - down shadow effect
var hh = canvas.height/4 + hh;
context.fillStyle="black";
context.fillRect(0, hh, canvas.width, canvas.height/4);
for(var i = 0; i < 10; i++)
{
context.shadowColor = "RGBA(255, 255, 255," + ((10-i)/10) + ")";
context.shadowOffsetX = i*2;
context.shadowOffsetY = i*2;
context.shadowBlur = i*2;
context.fillStyle = "RGBA(127, 127, 127, 1)";
context.fillText("Blur Canvas", 40, 80+hh);
}

// section four - fade effect
var hh = canvas.height/4 + hh;
context.fillStyle="green";
context.fillRect(0, hh, canvas.width, canvas.height/4);
for(var i = 0; i < 10; i++)
{
context.shadowColor = "RGBA(255, 255, 255," + ((10-i)/10) + ")";
context.shadowOffsetX = 0;
context.shadowOffsetY = -i*2;
context.shadowBlur = i*2;
context.fillStyle = "RGBA(127, 127, 127, 1)";
context.fillText("Blur Canvas", 40, 80+hh);
}
for(var i = 0; i < 10; i++)
{
context.shadowColor = "RGBA(255, 255, 255," + ((10-i)/10) + ")";
context.shadowOffsetX = 0;
context.shadowOffsetY = i*2;
context.shadowBlur = i*2;
context.fillStyle = "RGBA(127, 127, 127, 1)";
context.fillText("Blur Canvas", 40, 80+hh);
}
for(var i = 0; i < 10; i++)
{
context.shadowColor = "RGBA(255, 255, 255," + ((10-i)/10) + ")";
context.shadowOffsetX = i*2;
context.shadowOffsetY = 0;
context.shadowBlur = i*2;
context.fillStyle = "RGBA(127, 127, 127, 1)";
context.fillText("Blur Canvas", 40, 80+hh);
}
for(var i = 0; i < 10; i++)
{
context.shadowColor = "RGBA(255, 255, 255," + ((10-i)/10) + ")";
context.shadowOffsetX = -i*2;
context.shadowOffsetY = 0;
context.shadowBlur = i*2;
context.fillStyle = "RGBA(127, 127, 127, 1)";
context.fillText("Blur Canvas", 40, 80+hh);
}
}

</script>
</head>
<body>
<h1>HTML5 Canvas</h1>
<pre>Fill And Stroke Clip</pre>
<div id="my_painter">
<canvas id="text_canvas"></canvas>
</div>
</body>
</html>

HTML / CSS 相关文章推荐
一款基于css3和jquery实现的动画显示弹出层按钮教程
Jan 04 HTML / CSS
使用CSS3创建动态菜单效果
Jul 10 HTML / CSS
CSS3中的content属性使用示例
Jul 20 HTML / CSS
CSS3实现同时执行倾斜和旋转的动画效果
Oct 27 HTML / CSS
CSS3中的display:grid,网格布局介绍
Oct 30 HTML / CSS
CSS3制作轮播图的一种方法
Nov 11 HTML / CSS
HTML5实现一个能够移动的小坦克示例代码
Sep 02 HTML / CSS
详解淘宝H5 sign加密算法
Aug 25 HTML / CSS
详解HTML5中CSS外观属性
Sep 10 HTML / CSS
CSS3常见动画的实现方式
Apr 14 HTML / CSS
不要在HTML中滥用div
May 08 HTML / CSS
CSS Transition通过改变Height实现展开收起元素
Aug 07 HTML / CSS
html5 利用重力感应实现摇一摇换颜色可用来做抽奖等等
May 07 #HTML / CSS
HTML5资源预加载(Link prefetch)详细介绍(给你的网页加速)
May 07 #HTML / CSS
HTML5中5个简单实用的API(第二篇,含全屏、可见性、拍照、预加载、电池状态)
May 07 #HTML / CSS
html5 datalist标签使用示例(自动完成组件)
May 04 #HTML / CSS
HTML5 visibilityState属性详细介绍和使用实例
May 03 #HTML / CSS
HTML5中判断用户是否正在浏览页面的方法
May 03 #HTML / CSS
在HTML5 Canvas中放入图片和保存为图片的方法
May 03 #HTML / CSS
You might like
php一次性删除前台checkbox多选内容的方法
2013/09/22 PHP
php生成Android客户端扫描可登录的二维码
2016/05/13 PHP
PHP回调函数概念与用法实例分析
2017/11/03 PHP
ThinkPHP5&amp;5.1框架关联模型分页操作示例
2019/08/03 PHP
表格 隔行换色升级版
2009/11/07 Javascript
JavaScript 模拟类机制及私有变量的方法及思路
2013/07/10 Javascript
JavaScript实现的购物车效果可以运用在好多地方
2014/05/09 Javascript
AngularJS入门教程之Hello World!
2014/12/06 Javascript
完美兼容各大浏览器的jQuery插件实现图片切换特效
2014/12/12 Javascript
js实现的牛顿摆效果
2015/03/31 Javascript
javascript图片预加载完整实例
2015/12/10 Javascript
js倒计时简单实现方法
2015/12/17 Javascript
基于jQuery实现左右图片轮播(原理通用)
2015/12/24 Javascript
JavaScript暂停和继续定时器的实现方法
2016/07/18 Javascript
原生javascript上传图片带进度条【实例分享】
2017/04/06 Javascript
关于TypeScript中import JSON的正确姿势详解
2017/07/25 Javascript
vue2.0模拟锚点的实例
2018/03/14 Javascript
Vue组件Draggable实现拖拽功能
2018/12/01 Javascript
vue实现将一个数组内的相同数据进行合并
2019/11/07 Javascript
原生js实现日期选择插件
2020/05/21 Javascript
Python获取当前时间的方法
2014/01/14 Python
仅利用30行Python代码来展示X算法
2015/04/01 Python
python查询mysql,返回json的实例
2018/03/26 Python
Python实现将数据框数据写入mongodb及mysql数据库的方法
2018/04/02 Python
python 文本单词提取和词频统计的实例
2018/12/22 Python
Html5页面上如何禁止手机虚拟键盘弹出
2020/03/19 HTML / CSS
J2EE中常用的名词进行解释
2015/11/09 面试题
人力资源管理专业学生自我评价
2013/11/20 职场文书
文化活动实施方案
2014/03/28 职场文书
十佳少先队员演讲稿
2014/09/12 职场文书
护理见习报告范文
2014/11/03 职场文书
感谢信格式范文
2015/01/22 职场文书
团委副书记工作总结
2015/08/14 职场文书
Redis如何一键部署脚本
2021/04/12 Redis
Python实现生成bmp图像的方法
2021/06/13 Python
html5调用摄像头截图功能
2022/01/18 Javascript