HTML5 Canvas阴影用法演示

HTML5 Canvas中提供了设置阴影的四个属性值分别为:

context.shadowColor = “red” 表示设置阴影颜色为红色

context.shadowOffsetX = 0表示阴影相对TEXT的水平距离,0表示两者水平位置重合

context.shadowOffsetY = 0表示阴影相对TEXT的垂直距离,0表示两者垂直位置重合

context.shadowBlur = 10 阴影模糊效果,值越大模糊越厉害。

一个最简单的带有阴影的矩形代码如下:

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.fillRect(10, hh+10, 200,canvas.height/4-20);

效果如下:

阴影文字:

只要设置shadowOffsetX与shadowOffsetY的值,当值都正数时,阴影相对文字的右下

方偏移。当值都为负数时,阴影相对文字的左上方偏移。

3D拉影效果:

在同一位置不断的重复绘制文字同时改变shadowOffsetX、shadowOffsetY、shadowBlur

的值,从小到大不断偏移不断增加,透明度也不断增加。就得到了拉影效果文字。

边缘模糊效果文字:

在3D拉影效果的基础上在四个方向重复,就得到了边缘羽化的文字效果。

运行效果:

程序代码:

Canvas Clip Demo

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);

}

}

HTML5 Canvas Clip Demo - By Gloomy Fish

Fill And Stroke Clip

转载请注明

HTML5 Canvas动画效果演示

HTML5 Canvas动画效果演示 主要思想: 首先要准备一张有连续帧的图片,然后利用HTML5 Canvas的draw方法在不同的时间 间隔绘制不同的帧,这样看起来就像动画在播放. 关键技术点: ...

HTML5 Canvas动画效果演示 - 流浪的鱼 - 博客频道 - CSDN&period;NET

HTML5 Canvas动画效果演示 - 流浪的鱼 - 博客频道 - CSDN.NET HTML5 Canvas动画效果演示

html5 canvas基本用法

通过对canvas的初步了解,经过几天的总结,吧canvas的基本用法总结如下:方便以后查阅

提高HTML5 canvas性能的几种方法

简介 HTML5 canvas 最初起源于苹果(Apple)的一项实验,现在已经成为了web中受到广泛支持的2D快速模式绘图(2Dimmediate mode graphic)的标准.许多开发者现在利 ...

&lbrack;js高手之路&rsqb; html5 canvas系列教程 - 线形渐变&comma;径向渐变与阴影设置

接着上文[js高手之路] html5 canvas系列教程 - 像素操作(反色,黑白,亮度,复古,蒙版,透明)继续. 一.线形渐变 线形渐变指的是一条直线上发生的渐变. 用法: var linear ...

html5 canvas程序演示--P1197 &lbrack;JSOI2008&rsqb;星球大战

html5 canvas程序演示--P1197 [JSOI2008]星球大战

HTML5 程序设计 - 使用HTML5 Canvas API

请你跟着本篇示例代码实现每个示例,30分钟后,你会高喊:“HTML5 Canvas?!在哥面前,那都不是事儿!” 呵呵.不要被滚动条吓到,很多都是代码和图片.我没有分开写,不过上面给大家提供了目录,方 ...

HTML5 Canvas绘制转盘抽奖

新项目:完整的Canvas转盘抽奖代码 https://github.com/givebest/GB-canvas-turntable 演示 http://blog.givebest.cn/GB-ca ...

简介 jCanvas:当 jQuery遇上HTML5 Canvas

https://github.com/caleb531/jcanvas HTML5 可以直接在你的网页中使用  元素及其相关的 JavaScript API绘制的图形. 在 ...

随机推荐

vim快捷键

#vim  filename :scriptname //查看vim加载了哪些脚本 :set nu //设置行号 :set tabstop=4 //设置一个tab为4个空格长度 :set ai //设 ...

使用SQLIO测试磁盘性能

SQLIO 是一个用于测试存储系统能力的命令行工具,用以获取存储系统相关的性能指标,以判断系统的 I/O 处理能力. 在微软的网站可以下载 SQLIO 的安装包,安装后目录中会出现如下文件: EULA ...

Guava - EventBus&lpar;事件总线&rpar;

Guava在guava-libraries中为我们提供了事件总线EventBus库,它是事件发布订阅模式的实现,让我们能在领域驱动设计(DDD)中以事件的弱引用本质对我们的模块和领域边界很好的解耦设计 ...

Android 学习笔记之Volley&lpar;八&rpar;实现网络图片的数据加载

PS:最后一篇关于Volley框架的博客... 学习内容: 1.使用ImageRequest.java实现网络图片加载 2.使用ImageLoader.java实现网络图片加载 3.使用NetWork ...

手动编译Jsp文件

手动模拟Tomcat编译jsp文件 Tomcat编译jsp文件的配置路径是在%tomcat_home%/conf/web.xml中,有这样一段代码

HDU-4737 A Bit Fun 维护

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4737 题意:给一个数列a0, a1 ... , an-1,令 f(i, j) = ai|ai+1|ai ...

poj 2960 S-Nim(SG函数)

S-Nim Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 3694   Accepted: 1936 Description ...

(转载)教你在PHP中使用全局变量

(转载)http://www.chinaz.com/program/2009/0123/64261.shtml 即使开发一个新的大型PHP程序,你也不可避免的要使用到全局数据,因为有些数据是需要用到你 ...

1、roboguide新建工程文件

打开roboguide,软件界面如下,接下来讲解一下“打开和新建工程文件” 首先介绍一下新建工程文件,在工具栏中点击新建按钮或者在文件(file)的下拉菜单中点击新建工程文件(new cell),弹出 ...

MySql 游标笔记

delimiter &&create PROCEDURE findProjectDetailsByProjectId(in p_userId int)BEGIN   DECLARE d ...

html5使用阴影,HTML5 Canvas阴影用法演示相关推荐

  1. HTML5 canvas 阴影

    阴影 在canvas中进行绘制时,不管是文本.图形.还是图像,也不管是描边还是填充,都可以通过设置上下文对象的相关属性,来为它们设置阴影.这些属性及含义见表 4‑4: 表 4‑4 阴影的属性及含义 属 ...

  2. 未来技术 html5 app,未来web浏览技术提前体验:10个会让你惊叹不已的HTML5画布(canvas)技术应用演示...

    随着老式浏览器(IE6,IE8)的逐渐淘汰,现代浏览器(火狐浏览器,谷歌浏览器,Opera,Safari)走向主流,越来越多的HTML5和CSS3技术开始出现在各种网站上.这些最新的网页技术究竟能给我 ...

  3. html5 2020视觉效果,体验未来:10个会让你惊叹不已的HTML5画布(CANVAS)技术应用演示-UI博客精选...

    随着老式浏览器(IE6)的逐渐淘汰,现代浏览器(火狐浏览器,谷歌浏览器,Opera,Safari)走向主流,越来越多的HTML5和CSS3技术开始出现在各种网站上.这些最新的网页技术究竟能给我们今后的 ...

  4. HTML5 Canvas动画效果演示

    HTML5 Canvas动画效果演示 主要思想: 首先要准备一张有连续帧的图片,然后利用HTML5 Canvas的draw方法在不同的时间 间隔绘制不同的帧,这样看起来就像动画在播放. 关键技术点: ...

  5. HTML5 新特征之Canvas基础

    canvas标签 了解canvas标签 绘制直线 绘制矩形 绘制圆弧 绘制文字 绘制渐变色 线性渐变 放射渐变 绘制阴影 了解canvas标签 HTML5的canvas标签提供了一套强大的图形API, ...

  6. html5作品源码,码农网:12个效果奇特的HTML5动画赏析 | 附:源码演示

    本文由码农网 – 小峰原创,转载请看清文末的转载要求,欢迎参与我们的付费投稿计划! 本文将为大家分享12个效果奇特的HTML5动画,HTML5强大的动画特性可以让你的网页变得更加生动和富有活力,交互性 ...

  7. html5 canvas 椭圆,html5中怎么利用Canvas绘制椭圆

    html5中怎么利用Canvas绘制椭圆 发布时间:2021-07-08 16:32:10 来源:亿速云 阅读:58 作者:Leah html5中怎么利用Canvas绘制椭圆,针对这个问题,这篇文章详 ...

  8. html5 svg特性,HTML5新特性——HTML 5 Canvas vs. SVG

    Canvas 和 SVG 都允许您在浏览器中创建图形,但是它们在根本上是不同的. SVG SVG 是一种使用 XML 描述 2D 图形的语言. SVG 基于 XML,这意味着 SVG DOM 中的每个 ...

  9. 在HTML5中如何利用Canvas处理并存储图片

    HTML5中增加的Canvas元素,配合JS灵活的语法,处理起图片变得异常简单,不需要在客户端用C/C 写一大堆代码,对于熟悉JS的程序员来说,只需要考虑处理图片的逻辑了. canvas中如果想要处理 ...

最新文章

  1. 借助线下渠道逆袭?小米的愿望恐成镜花水月!
  2. day14 集合与函数
  3. C# 小工具开发--DeBugHttp
  4. Golang面向API编程-interface(接口)
  5. java中hotspot_Java 8中HotSpot选项的改进文档
  6. 有个地方叫做成都,有些菜叫川菜
  7. 装修好的房子多久能住 入住需要注意什么?
  8. python鸡兔同笼编程运行结果_Python解决鸡兔同笼问题的方法
  9. 5分钟三句代码实现抖音自动下载
  10. 华为可信专业级认证是什么?
  11. c语言中fabs是什么意思,c语言fabs是什么意思
  12. 如何培养卓越的执行力
  13. Unity5混音器DSP插件编写教程【一】
  14. 有钱人的4种思维,掌握一种,就够翻身了
  15. 手写数字识别及python实现
  16. 关于中国新能源发展最近趋势的深度分析!政府和科技巨头抓住了历史拐点
  17. 用户画像标签数据存储之Elasticsearch存储
  18. Fomo3D 玩法中文版指南,Dapp 游戏热度超越加密猫CryptoKitties排名第一
  19. Ang 表单 注册新用户
  20. 关于安装了非正版Office软件(原电脑有正版)后不能使用原正版office解决方法!!!

热门文章

  1. 建筑公司员工财务数据库分析
  2. sublime text3 安装插件
  3. 鸿蒙系统上市对苹果的影响,鸿蒙系统华为手机今年上市?假如能够比肩iOS,苹果还有何优势?...
  4. leetcode:715. Range 模块【无脑segmentTree】
  5. 代码量统计工具,非常有用的小工具
  6. 戊戌年 【狗年】 甲寅月 己卯日
  7. 登什么求什么的成语(登什么求什么四字成语大全)
  8. 谷歌浏览器主页被2345篡改
  9. python turtle画房子代码_python (turtle)画五环
  10. 使用uniapp实现小程序图片和视频的下载功能