html5中怎么利用canvas实现阴影效果

发布时间:2021-07-22 15:16:18 作者:Leah
来源:亿速云 阅读:174

这篇文章将为大家详细讲解有关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>
   <h2>HTML5 Canvas</h2>
   <pre>Fill And Stroke Clip</pre>
   <div id="my_painter">
       <canvas id="text_canvas"></canvas>
   </div>
</body>
</html>

关于html5中怎么利用canvas实现阴影效果就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

推荐阅读:
  1. 如何使用HTML5 Canvas绘制阴影效果
  2. html5中怎么利用canvas元素创建画布

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

html5 canvas

上一篇:CSS3中字体平滑处理和抗锯齿渲染的示例分析

下一篇:css3中pointer-events有什么用

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》