canvas

canvas

**1 由像素點(diǎn)構(gòu)成,位圖,放大會(huì)失真;
2 h5新標(biāo)簽,只兼容高版本瀏覽器;
3 沒有屬性,沒有事件,要結(jié)合js使用;
4 性能高
**

  • line
var canvas = document.getElementById('');
var gc = canvas.getContext('2d');
gc.beginPath();
gc.moveTo(x,y);
gc.lineTo(x,y);
....
gc.closePath();
gc.lineWidth=10;
gc.lineCap='round';
gc.lineJoin='bevel';
gc.strokeStyle = 'grey';
gc.stroke();

??!注意:線寬、顏色等設(shè)置一定要在stroke之前寫;
lineCap是線條端點(diǎn)的樣式,默認(rèn)為butt,還可以設(shè)置round|square;
lineJoin是線條連接點(diǎn)的樣式,默認(rèn)為miter,還可以設(shè)置round|bevel。

  • 矩形
gc.fillRect(x,y,w,h);
gc.strokeRect(x,y,w,h);
gc.clearRect(0,0,canvas.width,canvas.height);
  • 圓形
gc.arc(cx,cy,r,start,end,false);
gc.fillStyle='yellow';
gc.stroke();

?。∽⒁猓浩鹗己徒Y(jié)束的都是弧度,不是角度,要轉(zhuǎn)換(360度是2PI);
false為設(shè)置是否是逆時(shí)針繪制,通常為否;
圓形的繪制默認(rèn)是從右側(cè)開始。

  • 文字
gc.font ='20px 微軟雅黑';
var str='繪制文字';
gc.textBaseline='top';
gc.textAlign='center';
gc.strokeText(str,x,y);

?。∽⒁猓豪L制文字textBaseline默認(rèn)是baseline,還可以設(shè)置top|middle|bottom。

  • 導(dǎo)出圖片
var str=canvas.toDataURL();
var oImg=new Image();
oImg.src=str;
父級(jí).appendChild(oImg);

??!注意:toDataURL返回的是base64編碼的圖片資源。

  • 給canvas添加事件
    1 矩形/圓形:通過判斷鼠標(biāo)坐標(biāo)是否在區(qū)域內(nèi),檢測(cè)區(qū)域,添加事件
    2 其他不規(guī)則圖形:(返回值是boolean)
    gc.isPointInPath(ev.clientX,ev.clientY);
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • 一:canvas簡(jiǎn)介 1.1什么是canvas? ①:canvas是HTML5提供的一種新標(biāo)簽 ②:HTML5 ...
    GreenHand1閱讀 4,882評(píng)論 2 32
  • 一、canvas簡(jiǎn)介 1.1 什么是canvas?(了解) 是HTML5提供的一種新標(biāo)簽 Canvas是一個(gè)矩形區(qū)...
    Looog閱讀 4,051評(píng)論 3 40
  • 0x001 Canvas是啥? 說白了Canvas就是一塊畫布,可以使用js當(dāng)畫筆在上面繪畫的畫布,可以顯示在網(wǎng)頁...
    賣梳子的鯉魚閱讀 2,041評(píng)論 1 21
  • 最基本的使用創(chuàng)建一個(gè)畫布所有的操作都在畫布的context上面canvas是基于狀態(tài)而不是基于對(duì)象的,比如說顏色都...
    親愛的孟良閱讀 1,755評(píng)論 0 4
  • 《漢字解碼》專欄,生姜烏梅獨(dú)家出品。 6000多年前,陜西西安半坡村還是一個(gè)組織良好的大村子,面積約50000平方...
    生姜烏梅閱讀 1,600評(píng)論 0 2

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