for循環
for( var i = blurR ; i < cnvA.height - blurR ; i ++ )
for( var j = blurR ; j < cnvA.width - blurR ; j ++ )
為什么i和j是這樣對應的?不是按照二維數組的理解方式?應該這樣嗎?
for(var i=blurR;i<cnvA.width-blurR;i++){
for(var j=blurR;j<cnvA.height-blurR;j++)
for( var i = blurR ; i < cnvA.height - blurR ; i ++ )
for( var j = blurR ; j < cnvA.width - blurR ; j ++ )
為什么i和j是這樣對應的?不是按照二維數組的理解方式?應該這樣嗎?
for(var i=blurR;i<cnvA.width-blurR;i++){
for(var j=blurR;j<cnvA.height-blurR;j++)
2019-04-02
舉報
2019-05-09
2019-04-02
圖就是這樣的? 右邊沒有模糊處理
2019-04-02
function blurEffect(){
var imageData=cxtA.getImageData(0,0,cnvA.width,cnvA.height);
var data=imageData.data;
??
var tempImageData=cxtA.getImageData(0,0,cnvA.width,cnvA.height);
var tempData=tempImageData.data;
var blurR=3;
var number=(blurR+1+blurR)*(blurR+1+blurR);
for(var i=blurR;i<cnvA.width-blurR;i++){
for(var j=blurR;j<cnvA.height-blurR;j++){
/*for( var i = blurR ; i < cnvA.height - blurR ; i ++ ){
for( var j = blurR ; j < cnvA.width - blurR ; j ++ ){*/
var sumR=0,sumG=0,sumB=0;
for(var dx=-blurR;dx<=blurR;dx++){
for(var dy=-blurR;dy<=blurR;dy++){
var x=dx+i;
var y=dy+j;
var index=x*cnvA.width+y;
sumR+=tempData[index*4+0];
sumG+=tempData[index*4+1];
sumB+=tempData[index*4+2];
}
}
var index=i*cnvA.width+j;
data[index*4+0]=sumR/number;
data[index*4+1]=sumG/number;
data[index*4+2]=sumB/number;
}
}
cxtB.putImageData(imageData,0,0);
}
我代碼這樣寫后,出來的是一個正方形的模糊圖,但是我的畫布是長方形的啊,原圖的一部分沒模糊