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圆角边框和边框阴影示例
May 05 HTML / CSS
HTML5+CSS3实现无插件拖拽上传图片(支持预览与批量)
Jan 05 HTML / CSS
详解Html5中video标签那些属性和方法
Jul 01 HTML / CSS
自定义html标记替换html5新增元素
Oct 17 HTML / CSS
html5使用canvas实现跟随光标跳动的火焰效果
Jan 07 HTML / CSS
基于html5实现的图片墙效果
Oct 16 HTML / CSS
【HTML5】Canvas绘制简单图片教程
May 13 HTML / CSS
LocalStorage记住用户和密码功能
Jul 24 HTML / CSS
移动端开发HTML5页面点击按钮后出现闪烁或黑色背景的解决办法
Sep 19 HTML / CSS
Html5导航栏吸顶方案原理与对比实现
Jun 10 HTML / CSS
使用HTML和CSS实现的标签云效果(附demo)
Feb 03 HTML / CSS
table设置超出部分隐藏,鼠标移上去显示全部内容的方法
Dec 24 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
分页显示Oracle数据库记录的类之二
2006/10/09 PHP
PHP 多维数组排序实现代码
2009/08/05 PHP
关于php支持的协议与封装协议总结(推荐)
2017/11/17 PHP
PHP fopen函数用法实例讲解
2019/02/15 PHP
javascript背投广告代码的完善
2008/04/08 Javascript
用Greasemonkey 脚本收藏网站会员信息到本地
2009/10/26 Javascript
jquery中的$(document).ready()与window.onload的区别
2009/11/18 Javascript
使图片旋转的3种解决方案
2013/11/21 Javascript
jquery批量设置属性readonly和disabled的方法
2014/01/24 Javascript
深入分析JQuery和JavaScript的异同
2014/10/23 Javascript
原生js实现图片轮播特效
2015/12/18 Javascript
js中判断变量类型函数typeof的用法总结
2016/08/09 Javascript
JavaScript中 ES6 generator数据类型详解
2016/08/11 Javascript
Angular下H5上传图片的方法(可多张上传)
2017/01/09 Javascript
Bootstrap轮播图学习使用
2017/02/10 Javascript
微信小程序scroll-view组件实现滚动动画
2018/01/31 Javascript
vue.js自定义组件directives的实例代码
2018/11/09 Javascript
Python实现二分查找与bisect模块详解
2017/01/13 Python
TensorFLow用Saver保存和恢复变量
2018/03/10 Python
python+selenium 定位到元素,无法点击的解决方法
2019/01/30 Python
分享8个非常流行的 Python 可视化工具包
2019/06/05 Python
python 求1-100之间的奇数或者偶数之和的实例
2019/06/11 Python
windows下Python安装、使用教程和Notepad++的使用教程
2019/10/06 Python
基于Python解密仿射密码
2019/10/21 Python
Django框架安装方法图文详解
2019/11/04 Python
Python操作多维数组输出和矩阵运算示例
2019/11/28 Python
Python基于百度AI实现OCR文字识别
2020/04/02 Python
基于Python pyecharts实现多种图例代码解析
2020/08/10 Python
详解如何用canvas画一个微笑的表情
2019/03/14 HTML / CSS
html标签之Object和EMBED标签详解
2013/07/04 HTML / CSS
英国泰坦旅游网站:全球陪同游览,邮轮和铁路旅行
2016/11/29 全球购物
大学毕业感言一句话
2014/02/06 职场文书
策划总监岗位职责
2014/02/16 职场文书
后备干部培训方案
2014/05/22 职场文书
党员干部批评与自我批评反四风思想汇报
2014/09/21 职场文书
node.js使用express-fileupload中间件实现文件上传
2021/07/16 Javascript