圖像繪制方法
drawImage() 向畫布上繪制圖像、畫布或視頻
像素操作屬性和方法
width 返回 ImageData 對象的寬度
height 返回 ImageData 對象的高度
data 返回一個對象,其包含指定的 ImageData 對象的圖像數據
createImageData() 創建新的、空白的 ImageData 對象
getImageData() 返回 ImageData 對象,該對象為畫布上指定的矩形復制像素數據
putImageData() 把圖像數據(從指定的 ImageData 對象)放回畫布上
<canvas id="g" width="880" height="450" style="border:1px solid #000"></canvas> <img src="images/eg_tulip.jpg" id="img"> <script type="text/javascript"> var a=document.getElementById("g"); var ctx=a.getContext("2d"); var img=document.getElementById("img"); ctx.drawImage(img,0,0); //向畫布上繪制圖像、畫布或視頻 var imgData=ctx.getImageData(0,0,c.width,c.height); //返回 ImageData 對象,該對象為畫布上指定的矩形復制像素數據 // 反轉顏色 for (var i=0;i<imgData.data.length;i+=4) { imgData.data[i]=255-imgData.data[i];//返回一個對象,其包含指定的 ImageData 對象的圖像數據 imgData.data[i+1]=255-imgData.data[i+1]; imgData.data[i+2]=255-imgData.data[i+2]; imgData.data[i+3]=255; } ctx.putImageData(imgData,0,0);//把圖像數據(從指定的 ImageData 對象)放回畫布上 var imgData=ctx.createImageData(100,100);//創建新的、空白的 ImageData 對象 for (var i=0;i<imgData.data.length;i+=4) { imgData.data[i+0]=0; imgData.data[i+1]=255; imgData.data[i+2]=0; imgData.data[i+3]=255; } ctx.putImageData(imgData,10,150); var imgDa=ctx.getImageData(10,150,100,100); ctx.putImageData(imgDa,10,300); </script>