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中Transform动画属性用法详解
Jul 04 HTML / CSS
CSS3中border-radius属性设定圆角的使用技巧
May 10 HTML / CSS
CSS改变网页中鼠标选中文字背景颜色例子
Apr 23 HTML / CSS
css3 实现圆形旋转倒计时
Feb 24 HTML / CSS
详解css position 5种不同的值的用法
Jul 30 HTML / CSS
CSS3实现图片抽屉式效果的示例代码
Nov 06 HTML / CSS
Html5移动端弹幕动画实现示例代码
Aug 27 HTML / CSS
一张图片能隐含千言万语之隐藏你的程序代码
Dec 13 HTML / CSS
深入解析HTML5使用SVG图像时的viewBox属性用法
Sep 02 HTML / CSS
处理textarea中的换行和空格
Dec 12 HTML / CSS
html5简介及新增功能介绍
May 18 HTML / CSS
AmazeUI 等分网格的实现示例
Aug 25 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的面试题集
2006/11/19 PHP
PHP防CC攻击实现代码
2011/12/29 PHP
PHP保留两位小数并且四舍五入及不四舍五入的方法
2013/09/22 PHP
php使用fgetcsv读取csv文件出现乱码的解决方法
2014/11/08 PHP
php中ob_get_length缓冲与获取缓冲长度实例
2014/11/20 PHP
CakePHP框架Model关联对象用法分析
2017/08/04 PHP
Ubuntu彻底删除PHP7.0的方法
2018/07/27 PHP
正则表达式判断是否存在中文和全角字符和判断包含中文字符串长度
2008/09/27 Javascript
JavaScript 实现类的多种方法实例
2013/05/01 Javascript
Javascript中查找不以XX字符结尾的单词示例代码
2013/10/15 Javascript
IE8中使用javascript动态加载CSS的解决方法
2014/06/17 Javascript
nodejs的10个性能优化技巧
2014/07/15 NodeJs
2014年最火的Node.JS后端框架推荐
2014/10/27 Javascript
mpvue中配置vuex并持久化到本地Storage图文教程解析
2018/03/15 Javascript
使用angularjs.foreach时return的问题解决
2018/09/30 Javascript
在layui中使用form表单监听ajax异步验证注册的实例
2019/09/03 Javascript
element-ui 文件上传修改文件名的方法示例
2019/11/05 Javascript
VUE table表格动态添加一列数据,新增的这些数据不可以编辑(v-model绑定的数据不能实时更新)
2020/04/03 Javascript
js对象属性名驼峰式转下划线的实例代码
2020/09/17 Javascript
Python性能优化的20条建议
2014/10/25 Python
python实现学生管理系统
2018/01/11 Python
python 列表降维的实例讲解
2018/06/28 Python
使用PyCharm创建Django项目及基本配置详解
2018/10/24 Python
PyCharm设置每行最大长度限制的方法
2019/01/16 Python
Django之模板层的实现代码
2019/09/09 Python
Python3 中作为一等对象的函数解析
2019/12/11 Python
pytorch快速搭建神经网络_Sequential操作
2020/06/17 Python
HTML5各种头部meta标签的功能(推荐)
2017/03/13 HTML / CSS
Boda Skins皮衣官网:奢侈皮夹克,全球配送
2016/12/15 全球购物
加拿大在线旅游公司:Flighthub
2019/03/11 全球购物
添柏岚英国官方网站:Timberland英国
2019/11/28 全球购物
技校毕业生自荐书
2014/05/23 职场文书
行政答辩状范文
2015/05/21 职场文书
校园广播稿范文
2015/08/19 职场文书
pytorch 实现在测试的时候启用dropout
2021/05/27 Python
详解Flask开发技巧之异常处理
2021/06/15 Python