日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
HTML 5 canvas 圖像處理

前兩天無意中看了下《pro html5 programming》,發(fā)現(xiàn)html5竟然也能很好的支持圖像處理,在此稍稍交代一下。

創(chuàng)新互聯(lián)建站10多年企業(yè)網(wǎng)站建設(shè)服務(wù);為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁設(shè)計及高端網(wǎng)站定制服務(wù),企業(yè)網(wǎng)站建設(shè)及推廣,對木托盤等多個領(lǐng)域擁有豐富的網(wǎng)站運維經(jīng)驗的網(wǎng)站建設(shè)公司。

與matlab處理圖像類似的是,這里也是采用圖像矩陣的形式。

下面就介紹一個簡單的例子:

 
 
 
 
  1.       
  2.    
  3.       
  4. canvas圖像處理     
  5.      
  6.      
  7. canvas

         
  8. 是時候更換瀏覽器了點擊下載firefox    
  9.    

  10.    
  11. 圖像的反轉(zhuǎn)   

  12.    
  13.     
  14.     
  15.      
  16.    
  17.       
  18.    
  19.       
  20. canvas圖像處理     
  21.      
  22.      
  23. canvas

         
  24. 是時候更換瀏覽器了點擊下載firefox    
  25.    

  26.    
  27. 圖像的反轉(zhuǎn)   

  28.    
  29.     
  30.     
  31.      
  32.    
  33.       
  34.    
  35.       
  36. canvas圖像處理     
  37.      
  38.      
  39. canvas

         
  40. 是時候更換瀏覽器了點擊下載firefox    
  41.    

  42.    
  43. 圖像的反轉(zhuǎn)   

  44.    
  45.     
  46.     
  47.      
  48.    

1)html5 的canvas調(diào)用

 
 
 
 
  1. var canvas1=document.getElementById('canvas1');//獲取canvas元素   
  2. var context1=canvas.getContext('2d');//此時獲取到canvas圖像上下文   
  3.  

2)創(chuàng)建圖像并繪制原始圖像

 
 
 
 
  1. image=new Image();//創(chuàng)建image對象   
  2. image.src="z.JPG";//image的地址   
  3. image.onload=function(){   
  4. context1.drawImage(image,0,0);//繪制原始圖像,(0,0)表示圖像的左上角位與canvas畫布的位置   
  5. }   
  6.  

3)獲取圖像的rgba矩陣并操作

 
 
 
 
  1. var imagedata=context1.getImageData(0,0,image.width,image.height);   
  2. //getImageData(x1,y1,x2,y2)獲取圖像的rgba矩陣,其中截取圖像的大小為(x1,y1)-(x2,y2) 的矩陣   
  3. var imagedata1=context2.createImageData(image.width,image.height);   
  4. //createImageData(x,y):創(chuàng)建寬高分別為x,y的圖像矩陣   
  5.    for(var j=0;j
  6.     for(var i=0;i
  7.               k=4*(image.width*j+i);   
  8.           imagedata1.data[k+0]=255-imagedata.data[k+0];   
  9.           imagedata1.data[k+1]=255-imagedata.data[k+1];   
  10.           imagedata1.data[k+2]=255-imagedata.data[k+2];   
  11.                   imagedata1.data[k+3]=255;   
  12.         }   
  13.     context2.putImageData(imagedata1,0,0);   
  14. //putImageData(image,0,0):將image矩陣的添加為context 原矩陣的一部分,起點為(0,0)   

下面就細說下html5圖像的儲存形式:

矩陣中每個像素點有四個通道分別儲存r/g/b/a的值。(四個值按序連續(xù)的排列,為一維矩陣)

所以每兩個像素間相隔4位,計算時

 
 
 
 
  1. k=4*(image.width*j+i);為像素點(i,j)的位置,  

 

  
 
 
 
  1. imagedata1.data[k+0]表示R分量,依次類推,其中剩下的分別為G、B分量還有透明度。  

這樣上面的程序就實現(xiàn)了簡單的圖像的反轉(zhuǎn)功能。
效果如下:

另外需要注意的是,getImageData()函數(shù)可能會涉及到跨域的problem,所以建議配置apache環(huán)境并將該html放置到其根目錄下進行操作。


分享標題:HTML 5 canvas 圖像處理
轉(zhuǎn)載注明:http://www.5511xx.com/article/djccidc.html