canvas

canvas

canvas繪制

  • 獲取元素
    var canvas = document.getelementbyid('div1');
  • 獲取上下文對象(畫筆)
    var ctx = canvas.getContext('2d');

繪制線條

ctx.beginPath();//下筆
ctx.moveTo();//下筆的位置
ctx.lineTo();//描述下一個點(diǎn)
ctx.lineTo();//描述下下個點(diǎn)
ctx.closePath();//是否封閉區(qū)域

ctx.strokeStytle = 'red';
ctx.lineCap = 'round';
ctx.lineJoin = 'round';
ctx.lineWidth = 5;
ctx.stroke();//畫線

ctx.fillStyle = 'red';
ctx.fill();//填充

繪制矩形

ctx.fillRect(x,y,w,h);
ctx.strokeRect(x,y,w,h);

繪制圓形

ctx.beginPath();
ctx.arc(x,y,r,startAngle,endAngle,direction);
//圓心x,圓心y,半徑r,開始的弧度值,結(jié)束的弧度值,方向
ctx.stroke();//不可少

繪制曲線

  • 二次貝塞爾曲線
  • 三次貝塞爾曲線

繪制文字

ctx.textAlign = 'center';//基準(zhǔn)點(diǎn)在文本的位置
ctx.textBaseline = 'middle';//基線
ctx.font = '50px 黑體';
ctx.fillText(text,x,y,maxWidth?);
//文本內(nèi)容,文本的坐標(biāo)x,坐標(biāo)y,最大文字寬度(可選)
ctx.strokeText(text,x,y,maxWidth?)

繪制圖片

var img = new Image();
img.src = '';
img.onload = function(){
    ctx.drawImage(img,x,y);
    ctx.drawImage(img,x,y,w,h,x,y,w,h)
    //可以有9個參數(shù),2345表示img標(biāo)簽在canvas中的位置和大小,6789表示img圖片的裁剪
};

擦除畫布上內(nèi)容

  • ctx.clearReact(x, y, w, h);
  • 擦除的起點(diǎn)x值,y值,擦除的寬度,高度

動畫

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

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

  • 一:canvas簡介 1.1什么是canvas? ①:canvas是HTML5提供的一種新標(biāo)簽 ②:HTML5 ...
    GreenHand1閱讀 4,884評論 2 32
  • 一、canvas簡介 1.1 什么是canvas?(了解) 是HTML5提供的一種新標(biāo)簽 Canvas是一個矩形區(qū)...
    Looog閱讀 4,057評論 3 40
  • 一、canvas簡介 1.1 什么是canvas?(了解) 是HTML5提供的一種新標(biāo)簽 Canvas是一個矩形區(qū)...
    J_L_L閱讀 1,699評論 0 4
  • 書中代碼示例效果展示:Core HTML5 Canvas Examples 基礎(chǔ)知識 canvas元素 canva...
    szu_bee閱讀 3,066評論 2 28
  • canvas基本標(biāo)簽 < /canvas>寬高寫在內(nèi)部跟樣式有區(qū)別的(樣式設(shè)置-畫出的圖形寬高改變,內(nèi)部設(shè)置-畫出...
    閆子揚(yáng)閱讀 498評論 0 0

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