溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

html5中怎么利用canvas實(shí)現(xiàn)陰影效果

發(fā)布時間:2021-07-22 15:16:18 來源:億速云 閱讀:172 作者:Leah 欄目:web開發(fā)

這篇文章將為大家詳細(xì)講解有關(guān)html5中怎么利用canvas實(shí)現(xiàn)陰影效果,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。

代碼如下:


<!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>

關(guān)于html5中怎么利用canvas實(shí)現(xiàn)陰影效果就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI