function?mosaicEffect(){
//refer?pixels
var?referImageData?=?contexta.getImageData(0,0,canvasa.width,canvasa.height);
var?referPixelData?=?referImageData.data;
var?imageData?=?contexta.getImageData(0,0,canvasa.width,canvasa.height);
var?pixelData?=?imageData.data;
var?size?=?10;//參考周圍像素正方形的邊長
var?totalNum?=?size*size;
for(var?i=0;i<canvasb.height;i+=size){
for(var?j=0;j<canvasb.width;j+=size){
//find?pixel?around?nine?pixels?
//after?all?around?pixels?value?==?around?pixels?average?value
//第i行第j列的那個像素周圍像素的所有RGB值
var?totalR=0,totalG=0,totalB=0;
for(var?dx?=?0;dx?<?size;dx++){
for(var?dy?=?0;dy?<?size;dy++){
//第i行第j列的那個像素周圍像素的坐標值
var?x?=?i+dx;
var?y?=?j+dy;
var?p?=?x*canvasb.width+y;
totalR?+=?referPixelData[4*p+0];
totalG?+=?referPixelData[4*p+1];
totalB?+=?referPixelData[4*p+2];
}
}
for(var?dx?=?0;dx?<?size;dx++){
for(var?dy?=?0;dy?<?size;dy++){
var?p?=?x*canvasb.width+y;
pixelData[4*i+0]?=?totalR?/?totalNum;
pixelData[4*i+1]?=?totalG?/?totalNum;
pixelData[4*i+2]?=?totalB?/?totalNum;
}
}
}
}
contextb.putImageData(imageData,0,0,0,0,canvasb.width,canvasb.height);
}
chrome馬賽克濾鏡沒有效果,幫我看看代碼,是什么原因?
星空下的小孩
2016-11-28 17:29:02