【小白筆記】淺析canvas(基礎(chǔ))

canvas即畫布,是HTML5中新加的一個元素,可以制作出豐富的網(wǎng)頁內(nèi)容【canvas API】

通過與js來配合使用,如下所示:

HTML5:

? ? <canvas id="myCanvas" width="300px" height="300px" style="display:block; border:1px solid black; margin: auto"></canvas> //創(chuàng)建畫布(200*400)

JS:

? ? ?var c = document.getElementById("myCanvas"); //找到畫布

? ? ?var ctx = c.getContext("2d"); //創(chuàng)建畫筆

? ? ?ctx.fillStyle = "#008"; //設(shè)置畫筆顏色

1、繪制圖像:

? ? ?ctx.fillRect(50,50,100,150); //繪制圖形

輸出結(jié)果

2、繪制路徑:

? ? ?ctx.moveTo(10,10); //從坐標(biāo)(10,10)的地方開始

? ? ?ctx.lineTo(100,200); //在坐標(biāo)(100,200)的地方停止

? ? ?ctx.stroke(); //開始畫

輸出結(jié)果

eg:畫圓

? ? ?ctx.beginPath();

? ? ?ctx.arc(70,90,30,0,Math.PI*2);?

? ? ?ctx.closePath();

? ? ?ctx.fill();

輸出結(jié)果

3、繪制文本:

(1)常用漢字字體

(2)常用英文字體

? ? ctx.font="30px Georgia Italic"; //設(shè)置字體

? ? ctx.fillText("hello world",80,100); //設(shè)置文本及其起始位置

輸出結(jié)果

4、繪制漸變效果:

(1)線性變化:【詳見】

? ? var clor=ctx.createLinearGradient(150,0,0,0);

? ? clor.addColorStop(0,"#008");

? ? clor.addColorStop(1,"#FFF");

? ? ctx.fillStyle=clor;

? ? ctx.fillRect(50,100,200,80);

輸出結(jié)果

(2)圓形漸變:【詳見】

? ? var clor=ctx.createRadialGradient(150,150,50,150,150,100);

? ? clor.addColorStop(0,"#008");

? ? clor.addColorStop(1,"#800");

? ? ctx.fillStyle=clor;

? ? ctx.fillRect(50,50,200,200);

輸出結(jié)果

5、繪制圖片:

? ? ?var img = new Image();

? ? ?img.src = "http://img.zcool.cn/community/0130f1565197fe6ac7251c94bd1b25.jpg";

? ? ?img.onload = function() {

? ? ? ? ? ctx.save(); //保存現(xiàn)場

? ? ? ? ? ctx.scale(0.3,0.3); //圖片縮放

? ? ? ? ? ctx.drawImage(img,50,150); //繪制圖片

? ? ? ? ? ctx.restore; //恢復(fù)現(xiàn)場

? ? ?}

輸出結(jié)果

注:

? ? ? ?1、canvas左上角起點坐標(biāo)為(0,0);

? ? ? ?2、fillRect("相對畫布的起始位置X坐標(biāo)","相對畫布的起始位置Y坐標(biāo)","繪制圖形的寬","繪制圖形的高");

? ? ? 3、畫圓時若使用ctx.stroke(),畫出的園則不填充;

? ? ? 4、繪制文本時可使用ctx.strokeText(),繪制空心文字;

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

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

  • 一:canvas簡介 1.1什么是canvas? ①:canvas是HTML5提供的一種新標(biāo)簽 ②:HTML5 ...
    GreenHand1閱讀 4,878評論 2 32
  • 一、canvas簡介 1.1 什么是canvas?(了解) 是HTML5提供的一種新標(biāo)簽 Canvas是一個矩形區(qū)...
    Looog閱讀 4,034評論 3 40
  • 啥是canvas? HTML5 標(biāo)簽用于繪制圖像(通過腳本,通常是 JavaScript)。不過, 元素本身...
    kiaizi閱讀 847評論 0 4
  • 一、canvas簡介 1.1 什么是canvas?(了解) 是HTML5提供的一種新標(biāo)簽 Canvas是一個矩形區(qū)...
    J_L_L閱讀 1,683評論 0 4
  • 一、圖形的組合方式 globalAlpha是一個介于0和1之間的值(包括0和1),用于指定所有繪制的透明度。默認(rèn)值...
    空谷悠閱讀 1,476評論 0 0

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