`

canvas学习(十一):阴影

阅读更多

使用canvas绘制为图形添加阴影比较简单,主要是四个方法:

shadowColor:设置阴影颜色

 

shadowOffsetX:设置图形与阴影的水平距离,也是水平偏移量。当shadowOffsetX=0时,表示阴影位于形状的正下方,shadowOffsetX=20时表示阴影位于形状 left 位置右侧的 20 像素处,当shadowOffsetX=-20时表示阴影位于形状 left 位置左侧的 20 像素处。

 

shadowOffsetY:设置图形与阴影的垂直距离,也就是垂直方向的偏移量。当shadowOffsetY=0时表示阴影位于形状的正下方。当shadowOffsetY=20时表示阴影位于形状 top 位置下方的 20 像素处。当shadowOffsetY=-20时表示阴影位于形状 top 位置上方的 20 像素处。

 

shadowBlur:设置阴影的模糊级数,数字越大越模糊,越小越清晰。

这四个方法必须一起使用,不然达不到阴影的效果

实例代码如下:

1、页面结构:

<canvas id="myCanvas" style="margin:50px;display:block;margin:0 auto;border:1px solid #aaa;">
	您的浏览器不支持canvas,请换个浏览器试试
	<!--这句话在支持canvas的浏览器中会被忽略,不支持的则会显示出来-->
</canvas>

 

2、JS实现:

window.onload=function(){
	var myCanvas = document.getElementById("myCanvas");
	if(myCanvas.getContext("2d")){
		myCanvas.width = document.documentElement.clientWidth-20;;
		myCanvas.height = document.documentElement.clientHeight-20;;
		var context =myCanvas.getContext("2d");
		
		context.fillStyle="#058";//填充色
		context.font="bold 120px Arial";//设置字体
		context.textAlign = "center";//水平居中
		context.textBaseline="middle";
		
		//向下的阴影
		context.save();
		//设置阴影的颜色:灰色
		context.shadowColor="gray";
		//设置阴影的偏移量,当都为正数时阴影在右边及下边,若为负数则在左边和上边
		context.shadowOffsetX=15;
		context.shadowOffsetY=15;
		//设置阴影的模糊度:数字越大越模糊,越小越清晰
		context.shadowBlur=5;
		context.fillText("CANVAS",myCanvas.width/2,myCanvas.height/3);
		context.restore();

		//向上的阴影
		context.save();
		context.shadowColor="gray";
		context.shadowOffsetX=-15;
		context.shadowOffsetY=-15;
		context.shadowBlur=10;
		context.fillText("CANVAS",myCanvas.width/2,myCanvas.height*2/3);
		context.restore();
	}else{
		return false;
	}
}

感谢老师的分享!

分享到:
评论

相关推荐

    html5 canvas表示我爱你:玫瑰花动画.rar

    HTML5 Canvas是一个强大的Web图形API,它允许开发者在网页上直接绘制图像,创建动态的、交互式的图形内容。...这个例子对于想要提升前端开发技能,特别是对Canvas感兴趣的学习者来说,是非常有价值的参考资料。

    canvas学习(二):弹跳小球

    在本篇【canvas学习(二):弹跳小球】中,我们将深入探讨HTML5的Canvas元素以及如何利用它来创建动态的、交互式的弹跳小球效果。Canvas是HTML5的一个重要特性,允许开发者在网页上进行动态图形绘制,为网页增添了...

    HTML5 Canvas核心技术 图形、动画与游戏开发

    ### HTML5 Canvas核心技术:图形、动画与游戏开发 #### 第1章 基础知识 - **1.1 canvas元素** - **1.1.1 canvas元素...以上章节涵盖了从`canvas`的基础概念到高级绘图技巧的全面内容,适合初学者和进阶学习者阅读。

    canvas学习(三):炫丽的电子时钟

    在本篇博客“canvas学习(三):炫丽的电子时钟”中,作者通过HTML5的canvas元素展示了如何创建一个动态且具有视觉吸引力的电子时钟。canvas是HTML5中用于绘制图形的一个重要组成部分,它允许开发者用JavaScript来...

    canvas-2:canvas 折线图

    总的来说,"canvas-2:canvas 折线图"是一个实践JavaScript Canvas API的实例,通过学习和实践,你可以掌握如何利用HTML5 Canvas来创建自定义的、交互式的数据可视化图形,这对于前端开发者来说是一项非常实用的技能...

    CSS3 Canvas特效:3D星空穿越动画特效.rar

    【CSS3 Canvas特效:3D星空穿越动画特效】 ...其中,Canvas作为HTML5的一个重要组成部分,提供了...对于想要深入研究前端开发的人来说,这是一个极好的学习案例,它涉及到CSS3动画、Canvas绘图和3D变换等多个重要知识点。

    canvas_learn:canvas学习与相关演示

    【HTML Canvas 学习与应用】 HTML5 的 Canvas 是一种基于矢量图形的...通过深入学习和实践这个Demo,开发者可以进一步掌握Canvas的高级特性,如渐变、阴影、路径绘制等,从而开发出更复杂、更富有互动性的网页应用。

    canvas学习.zip

    由于标题为"canvas学习.zip",并且描述提到了"canvas的官网小例子",我们可以从中了解到这个压缩包可能包含了一些用于学习`canvas`的实例代码。 `canvas`标签是一个内联元素,通过JavaScript API与之交互。在HTML中...

    canvas写的炫酷特效

    3. 渐变和阴影:Canvas支持线性渐变、径向渐变以及阴影效果,通过`createLinearGradient()`和`createRadialGradient()`创建渐变对象,`shadowBlur`、`shadowOffsetX`和`shadowOffsetY`设置阴影效果。 4. 图像处理:...

    HTML5 canvas基本绘图之绘制阴影效果

    在实际开发中,`&lt;canvas&gt;`元素的阴影效果可以增强图形的视觉表现力,使得设计更加生动和立体。开发者可以根据需要调整阴影的颜色、模糊度、偏移量等参数,创造出各种不同的视觉效果。了解并熟练掌握这些属性的使用,...

    canvas-note:《Canvas开发笔记》(不定时更新)

    5. **其他Canvas高级技巧**:除了基本操作,Canvas还支持渐变、阴影、模式填充、混合模式等高级特性。例如,可以使用`createLinearGradient()`或`createRadialGradient()`创建线性渐变和径向渐变,为图形添加色彩...

    Canvas资料大全 当下流行的画图标签Canvas ,提供了全面的实例,文档,希望对你的学习有所帮助

    学习Canvas时,理解每个方法的作用和用法至关重要,同时,熟悉如何组合使用这些方法来创建复杂的图形和动画也是必不可少的。 然而,描述中还提到了PHP框架YII的中文文档。Yii是一个高效的、面向对象的PHP框架,用于...

    canvas学习(十九):css3 filter的十种特效

    在本篇【canvas学习(十九):css3 filter的十种特效】中,我们将深入探讨CSS3中的滤镜(filter)属性,这是一个强大的工具,能够为网页元素添加各种视觉效果。通过利用filter属性,我们可以无需复杂的图像编辑软件...

    android-canvas-examples:我的 Android Canvas 示例

    通过学习这些示例,开发者可以掌握Canvas的高级特性,如渐变、阴影、图片滤镜等。 总的来说,"android-canvas-examples"项目是一个很好的实践平台,可以帮助开发者提升在Android平台上使用Canvas进行图形编程的能力...

    html5 canvas酷炫的3D球形文字云动画特效

    通过学习和实践这个3D球形文字云动画特效,开发者可以进一步掌握HTML5 Canvas的高级特性,并将其应用到各种创意项目中。结合提供的文件"texiao2928_1560680794",我们可以解压并研究代码实现,加深对上述知识点的...

    Canvas-Shell:具有内置HTML Canvas渲染器的可扩展节点编辑器

    学习和使用Canvas-Shell,你需要掌握JavaScript基础,了解Canvas API的基本绘图方法,以及熟悉面向对象编程的概念,因为Canvas-Shell可能使用了类来封装和组织功能。同时,对于想要进一步定制和扩展编辑器的开发者,...

    安卓Android源码——精典源码之图片阴影效果和影子效果.zip

    我们可以在Canvas上通过各种绘图方法来实现阴影效果。 - **Paint**:Paint对象则用于定义绘图时的颜色、样式、字体等属性,包括阴影效果。通过设置Paint的`setShadowLayer()`方法,可以为绘制的形状或文字添加阴影...

    一款基于Html5 Canvas的小游戏.zip

    10. 特效与视觉设计:通过Canvas可以实现各种特效,如模糊、阴影、渐变等。结合CSS3和WebGL,可以创建更复杂的3D视觉效果。 通过分析"tinyheart-master"这个项目,你可以深入了解HTML5 Canvas游戏开发的各个环节,...

    基于html2canvas将当前页面保存为图片Demo

    HTML2canvas是一个JavaScript库,它的主要功能是将HTML页面的内容渲染成Canvas图像,进而可以转换为JPEG...通过学习和实践这个Demo,你可以掌握如何利用html2canvas这个强大的库,提升用户体验并拓展你的Web应用功能。

    canvas-example:例子

    学习这个示例,你可以了解到Canvas的基本绘图操作,比如颜色管理(`fillStyle`和`strokeStyle`)、渐变(`createLinearGradient`和`createRadialGradient`)、阴影效果(`shadowColor`, `shadowBlur`, `...

Global site tag (gtag.js) - Google Analytics