欧美三区四区_av先锋影音资源站_亚洲第一论坛sis_影音先锋2020色资源网_亚洲精品社区_在线免费观看av网站_国产一区二区伦理_亚洲欧美视频一区二区_99视频精品全部免费在线_精精国产xxxx视频在线

HTML5 Canvas像素處理使用接口介紹_HTML5教程

編輯Tag賺U幣

推薦:淺談three.js中的needsUpdate的應(yīng)用
three.js里的很多對象都有一個needsUpdate屬性,文檔中很少有寫(不過three.js的文檔本來就沒多少,很多問題還得靠github上的issues),網(wǎng)上各式各樣的教程中也不太會寫這個,因為對于簡單的入門程序而言,是用不到這個屬性的

內(nèi)容概要:本文通過簡單的代碼實例,以及略猥瑣的圖片demo,展示了canvas在圖像像素數(shù)據(jù)操作方面的常用接口。至于如何利用這幾個接口實現(xiàn)更復(fù)雜的效果,則會在后續(xù)章節(jié)里繼續(xù)講述。
一、canvas圖片填充; 2、設(shè)置/獲取canvas圖片數(shù)據(jù); 3、創(chuàng)建canvas圖片數(shù)據(jù);4、關(guān)于imageData.data的一點補充; 5、寫在后面
一、canvas圖片填充

復(fù)制代碼 代碼如下:m.ghpqjb.com

/**
* @description
* @param {Number} x 圖像起始繪制點距離canvas最左側(cè)的距離
* @param {Number} y 圖像起始繪制點距離canvas最頂部的距離
* @param {Number} width 最終圖像在canvas上繪制出來的寬度
* @param {Number} height 最終圖像在canvas上繪制出來的高度
*/
context.drawImage(image, x, y, width, height)

demo_01如下:
<canvas id="draw_image_canvas" style="background:#ccc;"></canvas>

復(fù)制代碼 代碼如下:m.ghpqjb.com

function $(id) { return document.getElementById(id); }
function getImage(url, callback){
var img = document.createElement('img');
img.onload = function(){
callback && callback(this);
};
img.src = url;
document.body.appendChild(img);
}
function drawImage(){
var url = 'xiangjishi.png';
var canvas = $('draw_image_canvas');
var context = canvas.getContext('2d');
getImage(url, function(img){
canvas.width = img.width;
canvas.height = img.height;
var offsetX = 20;
var offsetY = 20;
var drawWidth = img.width/4;
var drawHeight = img.height/4;
context.drawImage(img, offsetX, offsetY, drawWidth, drawHeight);
});
}
drawImage();

demo說明:加載xiangjishi.png,加載完成后,從相對于畫布左上角坐標(biāo)(0, 0)處開始,將xiangjishi.png繪制在畫布上,效果如下:

看到這里,可能對于 context.drawImage(image, x, y, width, height) 里四個參數(shù)的含義理解還不是特別清楚,可以簡單把幾個參數(shù)修改下看看效果:

復(fù)制代碼 代碼如下:m.ghpqjb.com

var offsetX = 20;
var offsetY = 20;
var drawWidth = img.width/2;
var drawHeight = img.height/2;
context.drawImage(img, offsetX, offsetY, drawWidth, drawHeight);

修改后的demo效果如下,結(jié)合上面API的說明,應(yīng)該不難理解四個參數(shù)所代表的含義
 

復(fù)制代碼 代碼如下:m.ghpqjb.com

context.drawImage(image, x, y, width, height)

二、獲取/設(shè)置canvas圖片數(shù)據(jù)

復(fù)制代碼 代碼如下:m.ghpqjb.com

/**
* @description 獲取canvas特定區(qū)域的像素點信息
* @param {Number} x 獲取信息的起始點距離canvas最左側(cè)的距離
* @param {Number} y 獲取信息的起始距離canvas最頂部的距離
* @param {Number} width 獲取的寬度
* @param {Number} height 最終的高度
*/
context.getImageData(x, y, width, height)

該方法返回一個ImageData對象,該對象主要有三個屬性:
imageData.width:每行有多少個元素
imageData.height:每列有多少個元素
imageData.data:一維數(shù)組,存儲了從canvas中獲取的每個像素的RGBA值。該數(shù)組為每個像素點保存了四個值——紅、綠、藍(lán)和alpha透明度。每個值都在0~255之間。因此,canvas上的每個像素在這個數(shù)組中就變成了四個整數(shù)值。數(shù)組的填充順序從左到右,從上到下。

復(fù)制代碼 代碼如下:m.ghpqjb.com

/**
* @description 用特定的imageData設(shè)置canvas特定區(qū)域的像素信息
* @param {Number} x 從canvas的x點處開始設(shè)置
* @param {Number} y 從canvas的y點處開始設(shè)置
* @param {Number} width 獲取的寬度
* @param {Number} height 最終的高度
*/
context.putImageData(imageData, x, y)

下面結(jié)合demo_2來說明getImageData()的用法以及各自參數(shù)的對應(yīng)的含義
DEMO_02 源代碼如下,在demo_01的基礎(chǔ)上稍事修改:

復(fù)制代碼 代碼如下:m.ghpqjb.com

<canvas id="draw_image_canvas" style="background:#ccc;"></canvas>
<canvas id="get_image_canvas" style="background:#ccc;"></canvas>


復(fù)制代碼 代碼如下:m.ghpqjb.com

function getAndSetImageData(){
var url = 'xiangjishi.png';
getImage(url, function(img){
$('draw_image_canvas').width = img.width;
$('draw_image_canvas').height = img.height;
var context = $('draw_image_canvas').getContext('2d');
context.drawImage(img, 0, 0, img.width, img.height);
//獲取像素信息
var offsetX = img.width/2;
var offsetY = img.height/2;
var getImgWidth = img.width/2;
var getImgHeight = img.height/2;
var imgageData = context.getImageData(offsetX, offsetY, getImgWidth, getImgHeight);
//設(shè)置像素信息,此處先忽略具體代碼,知道是把上面獲取的像素信息原封不動放到另一canvas里即可
var startX = 0;
var startY = 0;
var ct = $('get_image_canvas').getContext('2d');
$('get_image_canvas').width = img.width;
$('get_image_canvas').height = img.height;
ct.putImageData(imgageData, startX, startY);
});
}

demo_2 展示效果如下

 
到這里,基本能夠清除getImageData方法四個參數(shù)對應(yīng)的含義。putImageData參數(shù)的理解也不難,demo_2的代碼略加修改后看下效果就知道了

復(fù)制代碼 代碼如下:m.ghpqjb.com

function getAndSetImageData(){
var url = 'xiangjishi.png';
getImage(url, function(img){
$('draw_image_canvas').width = img.width;
$('draw_image_canvas').height = img.height;
var context = $('draw_image_canvas').getContext('2d');
context.drawImage(img, 0, 0, img.width, img.height);
//獲取像素信息
var offsetX = img.width/2;
var offsetY = img.height/2;
var getImgWidth = img.width/2;
var getImgHeight = img.height/2;
var imgageData = context.getImageData(offsetX, offsetY, getImgWidth, getImgHeight);
//設(shè)置像素信息
var startX = img.width/2; //這里原先為0
var startY = img.width/2; //這里原先為0
var ct = $('get_image_canvas').getContext('2d');
$('get_image_canvas').width = img.width;
$('get_image_canvas').height = img.height;
ct.putImageData(imgageData, startX, startY);
});
}

demo_3展示效果如下,可是試著把幾個參數(shù)自己改一下試下,可能會有更好的理解:

 
三、創(chuàng)建canvas圖片數(shù)據(jù)

復(fù)制代碼 代碼如下:m.ghpqjb.com

/**
* @description 預(yù)先創(chuàng)建一組圖像數(shù)據(jù),并綁定在canvas對象上
* @param {Number} width 創(chuàng)建的寬度
* @param {Number} height 創(chuàng)建的高度
*/
context.createImageData(width, height)

接口比較簡單,創(chuàng)建的數(shù)據(jù)可以像用getImageData獲取到的數(shù)據(jù)那樣進行同樣的處理,這里僅需要注意的是:這組圖像數(shù)據(jù)不一定會反映canvas的當(dāng)前狀態(tài)。
四、關(guān)于imageData的一點補充
再《HTML5高級程序設(shè)計》以及很多文章里面,都把imageData.data當(dāng)作一個數(shù)組來講,但其實:

復(fù)制代碼 代碼如下:m.ghpqjb.com

imageData.data返回的并不是真正的數(shù)組,而是一個類數(shù)組的對象,可以將imageData.data的類型打印出來
console.log(Object.prototype.toString.call(imgageData.data)); //輸出:[object Uint8ClampedArray]

然后再將imageData.data的具體內(nèi)容打印出來,內(nèi)容較長,僅截取最前面以及最后面的一段,可以看出:
imageData.data其實是一個對象,其索引從0開始,一直到width*height*4-1。


為什么不直接用數(shù)組存放?因為數(shù)組的長度有個上限,假設(shè)為limitLength,超過limitLength的元素,均以鍵值的方式存儲,如 data[limitLength + 100] 其實是 data['limitLength + 100 + ''](limitLength具體值記不得了,有興趣的童鞋可以查下)
至于最后面的byteLength、byteOffset、buffer屬性,未深究,此處不展開以防誤導(dǎo)讀者。
五、寫在后面
水平有限,如有疏誤,敬請指出


分享:基于HTML5超酷攝像頭(HTML5 webcam)拍照功能實現(xiàn)代碼
基于HTML5實現(xiàn)的超酷攝像頭(HTML5 webcam)拍照功能,需要了解的朋友可以參考下

來源:未知//所屬分類:HTML5教程/更新時間:2013-04-22
相關(guān)HTML5教程
亚洲视频狠狠| 国产精品久久久久久69| 加勒比久久高清| av午夜一区麻豆| 亚洲人a成www在线影院| 午夜精品区一区二区三| 亚洲精品一区二区三区在线播放| 精品久久免费| 99精品桃花视频在线观看| 日韩电影免费观看在线观看| 欧美精品尤物在线| 久久久久久视频| 久久夜色电影| 国产精品日韩成人| 欧美激情一区二区三区在线视频观看 | 豆花视频一区二区| 久久精品欧美一区二区三区麻豆| 日韩一区二区精品视频| 中文字幕无码精品亚洲资源网久久| 久久久黄色大片| 伊人色**天天综合婷婷| 精品久久久精品| 成人在线视频网站| 51调教丨国产调教视频| 久久天堂久久| 国产欧美精品一区| 久久久久久尹人网香蕉| 午夜宅男在线视频| 丰满大乳国产精品| 老司机精品视频导航| 日韩精品极品视频| 国产精品资源网| 精品高清美女精品国产区| 国产精品网站入口| 三级电影在线看| 免费欧美网站| 国产精品美女一区二区三区| 午夜伦理精品一区| 97人人模人人爽人人澡| 主播大秀视频在线观看一区二区| 懂色av中文一区二区三区| 一区国产精品视频| 国产午夜伦鲁鲁| 亚洲国产福利视频| 狠狠色丁香婷婷综合| 亚洲欧洲高清在线| 日本中文字幕网址| 精品国产av鲁一鲁一区| 极品少妇一区二区| 中文字幕精品av| 女人另类性混交zo| 2022成人影院| av电影在线观看一区| 欧美日本高清视频| 激情文学亚洲色图| 日本黄色成人| 国产精品免费视频一区| 国产精品免费网站| 手机看片福利视频| 成人羞羞视频播放网站| 欧美在线高清视频| 视频一区在线免费观看| 好吊色在线视频| 天堂久久一区二区三区| 国产视频精品免费播放| 人妻精品无码一区二区三区| 国产高清在线观看视频| 成人一二三区视频| …久久精品99久久香蕉国产| 风间由美一二三区av片| 国产99久久| 欧美中文字幕一区| 日韩欧美视频第二区| 中文字幕日产av| 国产一区二区三区日韩| 欧美激情中文字幕乱码免费| www男人天堂| 欧美色图婷婷| 一本久道久久综合中文字幕| 欧美在线3区| 888奇米影视| 国产成a人亚洲精品| 97久久久免费福利网址| 一级黄色片大全| 日韩.com| 欧美成人一区二区三区片免费| 欧美一区二区视频在线播放| 天堂在线视频观看| 亚洲国产成人午夜在线一区| 成人精品aaaa网站| 国产成年人免费视频| 日日摸夜夜添夜夜添国产精品| 色噜噜国产精品视频一区二区| 成年人网站av| 任你躁在线精品免费| 在线免费亚洲电影| 色一情一乱一乱一区91| 亚洲人视频在线观看| 国产精品视频yy9299一区| 1卡2卡3卡精品视频| 天天综合网入口| 久久99精品一区二区三区三区| 欧美成人亚洲成人日韩成人| 无遮挡aaaaa大片免费看| 日韩一区二区三区免费播放| 日韩欧美一级二级三级久久久| 欧美精品99久久| 亚洲香蕉久久| 色综合久久久网| 9色视频在线观看| 女生影院久久| 亚洲影视资源网| 日本一区免费观看| 亚洲免费视频网| 国产精品免费免费| 精选一区二区三区四区五区| 国产又粗又猛又爽又黄的视频一 | 国产香蕉97碰碰久久人人| 免费黄频在线观看| 少妇一区二区视频| 日韩精品中午字幕| 久久久精品麻豆| 欧美性生活一级片| 日韩午夜在线观看| 性chinese极品按摩| 久久视频在线观看| 日韩视频在线一区二区| 狠狠热免费视频| 欧美三级午夜理伦三级在线观看 | 日韩成人在线电影网| 成年网站免费在线观看| 自拍偷拍欧美一区| 亚洲国产欧美自拍| 欧美丰满熟妇bbb久久久| 91日韩免费| 亚洲一区二区福利| 亚洲精品理论片| 亚洲麻豆av| 欧美精品激情在线观看| www欧美com| 老司机精品视频在线| 国产91网红主播在线观看| 国产香蕉在线视频| 国产成人综合亚洲网站| 成人福利视频网| 在线观看黄色国产| 欧美国产日韩亚洲一区| 免费精品视频一区| 四季av日韩精品一区| 亚洲成a人v欧美综合天堂| avove在线观看| 91视频成人| 欧美精品久久天天躁| 一级在线免费视频| 色婷婷一区二区三区| 中文字幕九色91在线| 欧美激情 一区| 日本不卡视频在线观看| 国产精品v片在线观看不卡| 国产a∨精品一区二区三区仙踪林| 成人爱爱电影网址| 国产一级二级三级精品| 天堂在线观看av| 色哟哟精品一区| 欧美丰满熟妇xxxxx| 欧美偷拍自拍| 久久精品精品电影网| 手机在线中文字幕| 国产精品自在在线| 国产精华一区| 少妇人妻精品一区二区三区| 一本到不卡免费一区二区| 五月婷婷狠狠操| 亚洲一区在线| 午夜免费在线观看精品视频| 亚洲 欧美 成人| 国产精品美女久久久久aⅴ | 中文字幕 人妻熟女| 中文字幕在线一区免费| 中文字幕超清在线免费观看| 日韩中文字幕| 亚洲精品网址在线观看| 自拍偷拍你懂的| 国产成人av电影| 久久天堂国产精品| 成人国产在线| 日韩欧美亚洲国产精品字幕久久久| 动漫美女无遮挡免费| 裸体一区二区| 成人有码在线视频| 老熟妇高潮一区二区高清视频| 欧美色videos| 污污网站在线观看视频| 亚洲午夜一区| 国产精品91久久久| 国产wwwxxx| 色综合久久88色综合天天免费| 无需播放器的av| 国内在线观看一区二区三区| 欧美资源在线观看| 国产精品无码久久av| 精品国产鲁一鲁一区二区张丽| 天天插天天操天天射| 亚洲国产激情| 国产精品一区二区三区久久久| 性欧美一区二区三区| 色婷婷av一区二区三区gif| av中文字幕网址| 午夜综合激情| 97免费资源站| 国产成人77亚洲精品www| 亚洲精品一区在线观看| 国产精品综合激情| 久久综合狠狠综合久久综合88| 中文字幕日韩一区二区三区不卡 | 综合操久久久| 竹菊久久久久久久| 欧美激情精品久久久久久| 销魂美女一区二区| 午夜精品久久久久久| 精品国产鲁一鲁一区二区三区| 毛片一区二区| 国产精品久久7| 国产剧情一区二区在线观看| 亚洲色图激情小说| 国产一级特黄aaa大片| 亚洲欧洲性图库| 国产小视频精品| 久久国产精品99国产| 国产精品区二区三区日本| 在线日韩三级| 最新中文字幕亚洲| 337p粉嫩色噜噜噜大肥臀| 精品国产999| 在线观看成人动漫| 国产电影一区二区三区| 中国人体摄影一区二区三区| 欧美精品一区二区三区精品| 91黑丝高跟在线| 亚洲精品久久久久久久久久久久久久 | 一区二区黄色片| 99精品黄色片免费大全| 99热这里只有精品免费| 亚洲欧美偷拍自拍| 91精品久久久久久久久不口人 | 久久影视免费观看 | 麻豆成人综合网| 日韩电影天堂视频一区二区| 亚洲日产av中文字幕| 911国产网站尤物在线观看| 亚洲欧美激情在线观看| 亚洲成年人在线播放| 免费中文字幕视频| 一区二区成人在线| 中文字幕无码毛片免费看| 国产成人综合在线观看| 777久久精品一区二区三区无码 | 久久精品丝袜高跟鞋| 欧美亚洲大陆| 欧美亚洲激情视频| 欧洲一级精品| 中文字幕亚洲一区| 国产精品综合在线| 精品国产麻豆免费人成网站| 日韩欧美一区二区一幕| 欧美午夜视频一区二区| 免费一级做a爰片久久毛片潮| 国产亚洲一区二区三区| 在线视频日韩一区 | 不卡一卡2卡3卡4卡精品在| 日韩一区二区三区色| 精品综合久久久久久97| 欧美 日韩 国产 成人 在线 91| 亚洲国产精品人久久电影| 色屁屁影院www国产高清麻豆| 在线中文字幕一区| 国产免费久久久久| 亚洲成人免费在线| 中文字幕在线看高清电影| 国产精品毛片久久久久久| 亚洲最大天堂网| 成人午夜又粗又硬又大| 日本精品一区在线观看| 美女免费视频一区| 国产一二三区在线播放| 久久不射2019中文字幕| 在线观看成人av电影| 亚洲一级电影| 清纯唯美一区二区三区| 国产精品99一区二区三| 国产精品免费观看高清| 欧美先锋资源| 99久久综合狠狠综合久久止| 免费精品国产| 亚洲一区二区三区香蕉| 五月综合久久| 91美女福利视频高清| 色老板在线视频一区二区| 国产美女精品视频| 果冻天美麻豆一区二区国产| 国产精品久久999| 中文字幕区一区二区三| 国产97在线|日韩| 91综合久久爱com| 国产精品美女免费视频| 成人爽a毛片免费啪啪红桃视频| 欧洲精品久久久| 亚洲91网站| 国产精品视频白浆免费视频| 国产伦精品一区二区三区在线播放| 国产精品激情av电影在线观看 | 国产精品久久久久久久久久久久久| 五月亚洲婷婷| 国产日韩欧美在线播放| 天堂成人娱乐在线视频免费播放网站| 成人淫片在线看| 日韩精品一卡| 欧美日韩一区在线播放| 亚洲天堂激情| 女同性恋一区二区| 美女视频网站久久| 国产免费一区二区三区视频| 国产精品91一区二区| 色综合天天色综合| 国产天堂亚洲国产碰碰| xxxxxx黄色| 亚洲综合色成人| 尤物在线免费视频| 欧美日韩国产片| 亚洲午夜无码久久久久| 日韩电影免费在线观看中文字幕 | 国产成人亚洲综合a∨猫咪| 亚洲欧美激情插| 成人自拍视频网站| 午夜先锋成人动漫在线| 99视频在线播放| 综合天堂av久久久久久久| 一个色的综合| 美女在线一区二区| 99视频精品免费| 久久久综合精品| 91av在线免费| 天天影视色香欲综合网老头| 久草视频免费播放| 日韩写真欧美这视频| 国产精品久久婷婷| 久久久99久久精品女同性| 欧美一区二区三区婷婷| 国产精品视频久| 日韩久久精品| 亚洲精品在线免费看| 老司机午夜免费精品视频| 草草视频在线免费观看| 国产成人免费av在线| 亚洲国产日韩欧美在线观看| 国产精品免费aⅴ片在线观看| 日本少妇xxxx| 亚洲成a人v欧美综合天堂下载| 黄色一级大片在线免费观看| 欧美高清精品3d| 亚洲图片视频小说| 欧美成人黑人xx视频免费观看| 欧洲亚洲精品| 亚洲aⅴ男人的天堂在线观看| 日韩精品中文字幕第1页| 最新欧美日韩亚洲| 激情综合网av| 国产福利成人在线| 黄色性生活一级片| 亚洲欧美一区二区不卡| 538精品在线观看| 欧美一区午夜视频在线观看| av中文字幕在线免费观看| 欧美成人全部免费| theporn国产在线精品| 99久久一区三区四区免费| 欧美电影一区| 欧妇女乱妇女乱视频| 国产成a人亚洲| 精品久久久久久中文字幕人妻最新| 精品福利在线看| 在线观看国产黄| 久久久国产成人精品| 国产91精品入| 99re在线国产| 亚洲成人资源| 久久久999免费视频| 久久久综合网站| 亚洲女同二女同志奶水| 日韩免费一区二区三区在线播放| 亚洲av无码乱码国产精品| 国产精品99免视看9| 99热精品久久| 国产精品无码人妻一区二区在线| 91麻豆.com| www深夜成人a√在线| 欧美精品一区二区三区蜜桃| 亚洲成人中文字幕在线| 国产精品久久久久久久久久小说| 国产一区国产二区国产三区|