H5中canvas的漸變、文字、陰影、創建路徑


漸變

canvas支持的漸變效果包括線性漸變或射線漸變,并且支持顏色轉折點


            //1.獲取漸變對象
            var canvas=document.getElementById("canvas");
            var painter=canvas.getContext("2d");
            var grd=painter.createLinearGradient(0,200,200,200);

            //2.漸變的顏色
            //參數:指定顏色的位置,取值范圍0-1,相對于漸變的范圍
            grd.addColorStop(0,"red");
            grd.addColorStop(0.5,"green");
            grd.addColorStop(1,"blue");
            
            //3.將漸變對象賦值給填充顏色
            painter.fillStyle=grd;
            
            //4.繪圖
            painter.fillRect(0,0,200,200);

繪制文字 text

屬性:font,其與css中的font屬性類似,接受值完全相信。不過繪制文字時,設置文字大小時候,要先設置文字字體,否則沒有效果

方法:

   1)在指定位置繪制空心文字,后面的x,y指的是左下角的坐標

       strokeText(text,x,y)
    
   2)在指定位置繪制實心文字

       fillText(text,x,y)

   3)返回指定文字的大小信息

       measureText()

文字對其方式:水平對齊(textalign)、垂直對其(textBaseline)

textalign: left、right和center;
textBaseline:top、middle和bottom,alphabetic(默認值,字母基線)hanging( 懸掛基線)

繪制基準線

    context.beginPath();
    context.moveTo(200,0);
    context.lineTo(200,400);
    context.stroke();

首先我們得注意,所謂文字對齊并不是相對畫布對齊的,是相對于它自己的左、下基準線對齊的,這跟HTML5中其他元素對齊方式并不一樣。
怎么讓文字居中呢?請看以下實例

    <canvas id="canvas" width="400px" height="400px" ></canvas>

    var canvas=document.getElementById("canvas");
    var painter=canvas.getContext("2d");
    //1.設置文本的樣式
    painter.font="bold 50px red 微軟雅黑 "; //設置水平居中
    painter.textAlign="center";//設置垂直居中
    painter.textBaseline="middle";
    painter.strokeText("哈哈哈哈",200,200);

注意:painter.strokeText("哈哈哈哈",200,200)中的橫縱坐標是指第一個文字        
     的左下角坐標,要使文字水平垂直都居中,需要將其橫縱坐標設為畫布的橫縱坐標
     的一半,并讓textAlign的屬性值center,textBaseline屬性值為middle;


陰影 shadow

     1、使用CSS語法聲明陰影顏色
        shadowColor

     2、接受一個數字,確定對象陰影的水平投射距離
        shadowOffsetX

     3、接受一個數字,確定對象陰影的垂直投射距離
        shadowOffsetY

     4、為陰影生成模糊效果
        shadowBlur

創建路徑-繪制矩形和圓形

 1、標識方法
      beginPath() 開始創建路徑,每次繪制新圖形之前,都要先重新創建一個路徑
      closePath()  結束創建路徑,主要用于讓線條閉合
     
 2、設置方法
      rect(x,y,width,height) 設置矩形形狀
      x和y - 矩形的左上角
      width/height - 矩形的寬和高

      arc(x,y,radius,startAngle,endAngle,direction)設置圓形形狀
          x/y - 設置圓心的坐標值
          radius - 圓形的半徑
          startAngle - 開始位置
          endAngle - 結束位置
          direction - 方向:默認值為false,表示順時針
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容