一些邊緣像素遍歷不了,總是不會(huì)模糊怎么么辦,總是一邊有一條和原圖一樣的
function five(){
var imageData=ctx1.getImageData(0,0,canvas1.width,canvas1.height);
var pixdata=imageData.data;
var R=1;
var num=(2*R+1)*(2*R+1)
//先遍歷出每個(gè)像素
for(var i=R;i<canvas2.width-R;i++){
for(var j=R;j<canvas2.height-R;j++){
var totalr=0;
var totalg=0;
var totalb=0;
//在遍歷出每一個(gè)像素周圍的九個(gè)像素,讓后對(duì)著九個(gè)像素的r,g,b三個(gè)值分別求和在除9得到的值賦給這個(gè)像素。
for(var dx=-R;dx<=R;dx++){
for(var dy=-R;dy<=R;dy++){
var x=i+dx;
var y=j+dy;
var p=x*canvas2.width+y;
totalr+=pixdata[p*4+0];
totalg+=pixdata[p*4+1];
totalb+=pixdata[p*4+2];
}
var t=i*canvas2.width+j;
pixdata[t*4+0]=totalr/num;
pixdata[t*4+1]=totalg/num;
pixdata[t*4+2]=totalb/num;
}
}
}
ctx2.putImageData(imageData,0,0,0,0,canvas2.width,canvas2.height);
}
2016-11-07