canvas繪制圖片

繪制圖片,要求圖片必須在加載完成之后。
drawImage(img,x,y)圖片有多大繪制多大;
drawImage(img,x,y,iw,ih)將圖片繪制到指定大小內(nèi),會(huì)壓縮或拉伸圖片;
drawImage(img,ix,iy,iw,ih,cx,cy,cw,ch)前4個(gè)參數(shù)決定從原圖上指定位置剪下指定大小的圖,繪制到指定位置的畫布上的指定大小,會(huì)壓縮或拉伸圖片。
getImageData(x,y,w,h)獲取指定范圍內(nèi)的像素信息
putImageData(imgData,x,y)向指定范圍內(nèi)繪制像素信息
clip()裁剪:

  1. 必須有一條封閉的路徑
  2. 路徑必須在clip之前創(chuàng)建
  3. clip必須在drawImage之前調(diào)用

我么可以使用給定的方法,完成圖片的一些濾鏡效果。

反色

    arr[i] = 255-arr[i];
    arr[i+1] = 255-arr[i+1];
    arr[i+2] = 255-arr[i+2];

灰度

arr[i]=arr[i+1]=arr[i+2]=(arr[i]+arr[i+1]+arr[i+2])/3;

視頻也可以通過此方式改變播放的顏色。

//first,獲取畫布
var canvas = document.querySelector("#canvas");
//second,獲取繪制環(huán)境
var ctx = canvas.getContext("2d");
var video = document.querySelector("video");

video.oncanplaythrough = function(){
  function _run(){

    ctx.drawImage(video,0,0);

    var data = ctx.getImageData(0,0,500,500);
    console.log(data);
    var arr = data.data;
    for (var i = 0; i < arr.length; i+=4) {
      //反色
      arr[i] = 255-arr[i];
      arr[i+1] = 255-arr[i+1];
      arr[i+2] = 255-arr[i+2];

      // 灰度
      arr[i]=arr[i+1]=arr[i+2]=(arr[i]+arr[i+1]+arr[i+2])/3;
    }
    ctx.putImageData(data,0,0);
    requestAnimationFrame(_run);
  }
  _run();
}

圖片樣式

createPattern(img,repeatType) 創(chuàng)建平鋪對(duì)象
repeatType:平鋪類型 repeat-x repeat-y repeat no-repeat

最后編輯于
?著作權(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)容

  • 繪制圖片 按圖片原大小繪制var context = document.getElementById("canva...
    不住海邊也喜歡浪閱讀 4,398評(píng)論 0 1
  • 繪制圖片必須在圖片加載完成之后繪圖 3-9個(gè)參數(shù)drawImage(img,x,y) 圖片有多大,繪制多大 d...
    哼_(dá)閱讀 467評(píng)論 0 1
  • canvas - 圖片繪制 1、 按照?qǐng)D片原大小加載 注意: 必須要保證圖片加載完畢后,再繪制圖片(繪制寫在on...
    云音流閱讀 1,217評(píng)論 0 4
  • 1.繪制圖片 1 基本繪制圖片的方式 2 在畫布上繪制圖像,并規(guī)定圖像的寬度和高度 如果指定寬高,最好成比例,不然...
    巖薔薇閱讀 6,516評(píng)論 0 0
  • 周六參加了 Learn Smart 活動(dòng),學(xué)習(xí)制作了“太空船躲避宇宙碎片”小游戲。小組協(xié)作文檔[https://b...
    斐碩人閱讀 818評(píng)論 1 1

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