NFH.006 - Canvas高級與Chart.js


12.16學(xué)習(xí)經(jīng)驗(yàn)分享#

Bruce_Zhu于2016.12.16


一、canvas-創(chuàng)建路徑繪制線條(直線和折線、多邊形)

  1. 繪制方法
 1)設(shè)置起點(diǎn)坐標(biāo)值 

   moveTo(x,y);  

 2)設(shè)置終點(diǎn)(折點(diǎn))坐標(biāo)值

   lineTo(x,y);
  1. 繪制線條的屬性
 1)設(shè)置線條的寬度,默認(rèn)1px

    lineWidth

 2)設(shè)置線條端點(diǎn)的形狀

    lineCap 

    butt - 平角
    round - 圓角
    square - 正方向

 3)設(shè)置兩條線交點(diǎn)的形狀

    lineJoin

    miter - 尖角 
    round - 圓角
    bevel - 斜角 

 4)miterLimit - 配合lineJoin使用

    lineJoin設(shè)置為miter,該屬性值設(shè)置尖角延伸范圍

二、canvas繪制圖片

1、 按照圖片原大小加載

   drawImage(img,x,y)

   img - 當(dāng)前加載的圖片
   x和y - 圖片左上角的位置 

   注意: 必須要保證圖片加載完畢(onload事件)后,再繪制圖片
  1. 平鋪圖片

    var ptn = createPattern(img,type) 返回一個(gè)平鋪對象,將這個(gè)對象作為將要繪制圖像的填充顏色

    img : 平鋪的圖片
    type: 平鋪的方式

    repeat/no-repeat/repeaet-x/repeat-y

    注意:

    必須要保證圖片加載完畢(onload事件)后,再繪制圖片,createPattern也要等到圖片加載完畢后執(zhí)行

三、切割圖片

按照創(chuàng)建路徑使用
clip()

四、 畫布方法

1、 scale(x,y); - 縮放
x - 水平方向上的縮放
y - 初值方向上的縮放

  context.scale(sx,sy);
  
  context.fillRect(x,y,width,height);
  
  sx:讓x和width相對于畫布左上角進(jìn)行縮放
  sy:讓y和height相對于畫布左上角進(jìn)行縮放
  
    兩次scale在一個(gè)會(huì)產(chǎn)生疊加效果

2、translate(x,y) - 重新映射畫布上的(0,0)位置

  context.translate(tx,ty);
  
  tx和ty改變了矩形的x和y的參考點(diǎn)

3、rotate(); 旋轉(zhuǎn)畫布

   degrees * Math.PI / 180;

4、save() 保存當(dāng)前畫布屬性、狀態(tài)

5、resotre() 恢復(fù)畫布屬性狀態(tài)

六、Chart.js插件的學(xué)習(xí)教程

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一:canvas簡介 1.1什么是canvas? ①:canvas是HTML5提供的一種新標(biāo)簽 ②:HTML5 ...
    GreenHand1閱讀 4,882評論 2 32
  • 一、canvas簡介 1.1 什么是canvas?(了解) 是HTML5提供的一種新標(biāo)簽 Canvas是一個(gè)矩形區(qū)...
    Looog閱讀 4,045評論 3 40
  • 一、簡介 HTML5 中的定義:“它是依賴分辨率的位圖畫布,你可以在 canvas 上面繪制任何圖形,甚至加載照片...
    destiny0904閱讀 10,843評論 1 4
  • 繪制線條 1.繪制方法 設(shè)置起點(diǎn)坐標(biāo)值moveTo(x,y) 設(shè)置終點(diǎn)(折點(diǎn))坐標(biāo)值lineTo(x,y)2.繪制...
    50153465fcd8閱讀 784評論 0 0
  • 線條樣式 繪制直線,第五章知識簡單回顧 lineWidth 設(shè)置或返回當(dāng)前的線條寬度,單位為像素 lineCap ...
    Zd_silent閱讀 552評論 0 0

友情鏈接更多精彩內(nèi)容