日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Canvas createImageData

發(fā)布時間:2023/11/30 57 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Canvas createImageData 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

createImageData() 方法創(chuàng)建新的空白 ImageData 對象。新對象的默認像素值 transparent black。

對于 ImageData 對象中的每個像素,都存在著四方面的信息,即 RGBA 值:

  • R - 紅色 (0-255)
  • G - 綠色 (0-255)
  • B - 藍色 (0-255)
  • A - alpha 通道 (0-255; 0 是透明的,255 是完全可見的)

因此 ,transparent black 表示 (0,0,0,0)。

color/alpha 以數(shù)組形式存在,并且既然數(shù)組包含了每個像素的四條信息,數(shù)組的大小是 ImageData 對象的四倍。(獲得數(shù)組大小有更簡單的辦法,就是使用 ImageDataObject.data.length)

ImageDataObject.data.length = ImageDataObject.width*ImageDataObject.height*4;

包含 color/alpha 信息的數(shù)組存儲于 ImageData 對象的?data?屬性中。

提示:在操作完成數(shù)組中的 color/alpha 信息之后,您可以使用?putImageData()?方法將圖像數(shù)據(jù)拷貝回畫布上。

?

有兩個版本的 createImageData() 方法:

1. 以指定的尺寸(以像素計)創(chuàng)建新的 ImageData 對象:

var imgData=context.createImageData(width,height);

2. 創(chuàng)建與指定的另一個 ImageData 對象尺寸相同的新 ImageData 對象(不會復制圖像數(shù)據(jù)):

var imgData=context.createImageData(imageData);

<!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8"><title>createImageData</title> </head><body><canvas id='myCanvas' width='800' height='400'>your browser does not support canvas</canvas><script type="text/javascript">var c = document.getElementById('myCanvas');var ctx = c.getContext('2d');var img = new Image();img.src = 'face.jpg';img.onload = function() {// 從10,10坐標開始繪制整個圖片 ctx.drawImage(img, 10, 10);var imgData = ctx.getImageData(50, 50, 200, 200);var imgData01 = ctx.createImageData(imgData);for (var i = 0; i < imgData01.width * imgData01.height * 4; i += 4) {imgData01.data[i + 0] = 255;imgData01.data[i + 1] = 0;imgData01.data[i + 2] = 0;imgData01.data[i + 3] = 255;}ctx.putImageData(imgData01, 10, 260);var imgData02 = ctx.createImageData(100, 100);for (i = 0; i < imgData02.width * imgData02.height * 4; i += 4) {imgData02.data[i + 0] = 255;imgData02.data[i + 1] = 0;imgData02.data[i + 2] = 0;imgData02.data[i + 3] = 155;}ctx.putImageData(imgData02, 220, 260);};</script> </body></html>

?

轉載于:https://www.cnblogs.com/stono/p/4670258.html

總結

以上是生活随笔為你收集整理的Canvas createImageData的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。