明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

如何用HTML5中的canvas完成漸變文字的效果

[摘要]<canvas>是HTML5中新增的標(biāo)簽,它可以用來繪制圖像,但是必須借助JavaScript腳本實(shí)現(xiàn)效果,對(duì)于HTML5中的canvas你了解多少?這篇文章就和大家講講如何用canvas制作漸變文字效果,對(duì)canvas繪制漸變感興趣的朋友,可以參考一下。用HTML5中的canvas ...
<canvas>是HTML5中新增的標(biāo)簽,它可以用來繪制圖像,但是必須借助JavaScript腳本實(shí)現(xiàn)效果,對(duì)于HTML5中的canvas你了解多少?這篇文章就和大家講講如何用canvas制作漸變文字效果,對(duì)canvas繪制漸變感興趣的朋友,可以參考一下。

用HTML5中的canvas 實(shí)現(xiàn)漸變文字效果,需要用到的語法及參數(shù)設(shè)置如下,不清楚的小伙伴可以看看。

1、fillText( )

語法:context.fillText(text,x,y,maxWidth)

text表示需要在畫布上輸出的文本
x表示開始繪制文本的X軸坐標(biāo)
y表示開始繪制文本的 Y軸坐標(biāo)
maxWidth 表示允許的最大文本寬度,單位是像素,是一個(gè)可選值。

2、createLinearGradient( )

語法:context.createLinearGradient(x0,y0,x1,y1)

x0 表示漸變開始點(diǎn)的X軸坐標(biāo)
y0 表示漸變開始點(diǎn)的Y軸坐標(biāo)
x1 表示漸變結(jié)束點(diǎn)的X軸坐標(biāo)
y1 表示漸變結(jié)束點(diǎn)的Y軸坐標(biāo)

舉:1:制作一個(gè)普通文字(無顏色漸變),代碼如下:

<!DOCTYPE html>
<html>
 <head>
  <meta charset="UTF-8">
  <title></title>
 </head>
 <body>
  <canvas id="myCanvas" width="300" height="150" style="border:1px solid #ccc;"></canvas>
 </body>
 <script type="text/javascript">  
  var c=document.getElementById("myCanvas");
  var ctx=c.getContext("2d");  
  ctx.font="20px Georgia";
  ctx.fillText("學(xué)習(xí)使我快樂",10,50);
 </script>
</html>

效果圖如圖所示:

aa.jpg

舉例2:制作一個(gè)漸變文字,具體代碼如下:

ctx.font="30px Verdana";
  // Create gradient
  var gradient=ctx.createLinearGradient(0,0,c.width,0);
  gradient.addColorStop("0","orange");
  gradient.addColorStop("0.5","blue");
  gradient.addColorStop("1.0","red");
  // Fill with gradient
  ctx.fillStyle=gradient;
  ctx.fillText("have a nice day ",10,100);

效果圖:

bb.jpg

制作漸變文字時(shí),首先要用createLinearGradient( )創(chuàng)建一個(gè)漸變,然后用fillStyle將漸變運(yùn)用于文字上。

以上給大家介紹了如何用HTML5中的canvas制作漸變文字效果,既簡(jiǎn)單又實(shí)用,初學(xué)者可以自己動(dòng)手實(shí)踐,希望你可以制作出更加炫酷的效果。

更多相關(guān)課程請(qǐng)?jiān)L問 Html5視頻教程

以上就是如何用HTML5中的canvas實(shí)現(xiàn)漸變文字的效果的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!


網(wǎng)站建設(shè)是一個(gè)廣義的術(shù)語,涵蓋了許多不同的技能和學(xué)科中所使用的生產(chǎn)和維護(hù)的網(wǎng)站。