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 3D制作实战案例分析
Sep 18 HTML / CSS
CSS实现雨滴动画效果的实例代码
Oct 08 HTML / CSS
html5 canvas实现跟随鼠标旋转的箭头
Mar 11 HTML / CSS
canvas烟花特效锦集
Jan 17 HTML / CSS
使用html5 canvas创建太空游戏的示例
May 08 HTML / CSS
详解HTML5中div和section以及article的区别
Jul 14 HTML / CSS
很酷的HTML5电子书翻页动画特效
Feb 25 HTML / CSS
HTML5新特性 多线程(Worker SharedWorker)
Apr 24 HTML / CSS
简述Html5 IphoneX 适配方法
Feb 08 HTML / CSS
HTML5中在title标题标签里设置小图标的方法
Jun 23 HTML / CSS
css3实现背景图片半透明内容不透明的方法示例
Apr 13 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
解决CodeIgniter伪静态失效
2014/06/09 PHP
Thinkphp实现MySQL读写分离操作示例
2014/06/25 PHP
php定时执行任务设置详解
2015/02/06 PHP
php实现的微信红包算法分析(非官方)
2015/09/25 PHP
PHP实现阿里大鱼短信验证的实例代码
2017/07/10 PHP
PHP编译configure时常见错误的总结
2017/08/17 PHP
PHP基于imagick扩展实现合成图片的两种方法【附imagick扩展下载】
2017/11/14 PHP
番茄的表单验证类代码修改版
2008/07/18 Javascript
把html页面的部分内容保存成新的html文件的jquery代码
2009/11/12 Javascript
JavaScript 拾碎[三] 使用className属性
2010/10/16 Javascript
javascript字符串拼接的效率问题
2010/12/25 Javascript
基于Unit PNG Fix.js有时候在ie6下不正常的解决办法
2013/06/26 Javascript
jQuery 绑定事件到动态创建的元素上的方法实例
2013/08/18 Javascript
JQuery与JS里submit()的区别示例介绍
2014/02/17 Javascript
javascript如何判断输入的url是否正确
2014/04/11 Javascript
javascript中indexOf技术详解
2015/05/07 Javascript
基于jQuery实现表格的查看修改删除
2016/08/01 Javascript
seajs学习教程之基础篇
2016/10/20 Javascript
vue实现消息的无缝滚动效果的示例代码
2017/12/05 Javascript
js+cavans实现图片滑块验证
2020/09/29 Javascript
Python中的推导式使用详解
2015/06/03 Python
python读取图片并修改格式与大小的方法
2018/07/24 Python
Python tkinter和exe打包的方法
2020/02/05 Python
Python使用内置函数setattr设置对象的属性值
2020/10/16 Python
sublime3之内网安装python插件Anaconda的流程
2020/11/10 Python
H5 canvas中width、height和style的宽高区别详解
2018/11/02 HTML / CSS
使用html2canvas.js实现页面截图并显示或上传的示例代码
2018/12/18 HTML / CSS
信用社实习人员自我鉴定
2013/09/20 职场文书
室内设计自我鉴定
2013/10/15 职场文书
文秘求职信范文
2014/04/10 职场文书
梅花魂教学反思
2014/04/25 职场文书
幼儿园大班区域活动总结
2014/07/09 职场文书
2015年保卫科工作总结
2015/05/14 职场文书
CSS中em的正确打开方式详解
2021/04/08 HTML / CSS
Python 如何利用ffmpeg 处理视频素材
2021/11/27 Python
Spring依赖注入多种类型数据的示例代码
2022/03/31 Java/Android