canvas畫素級操作實現濾鏡之灰度效果 懷舊濾鏡

2021-06-20 12:43:46 字數 628 閱讀 6453

灰度化原理:按照.299 * r + .587 * g + .114 * b來計算,然後將值賦給rgb分量

**:

//灰度效果:(去色)

function gray_filter(data)

return data;

}

懷舊濾鏡原理:

1.首先對影象重新計算rgb值,計算公式如下:

var dr=.393*r+.769*g+.189*b;

var dg=.349*r+.686*g+.168*b;

var db=.272*r+.534*g+.131*b;

2.對影象計算出來的新的rgb值根據隨機權重與舊值混合,權重值公式如下:

var scale=math.random()*0.5 + 0.5;

3.混合公式如下:var fr=scale*dr+(1-scale)*r;

實現:

//懷舊濾鏡:

function reminiscence_filter(data)

return data;

}

canvas畫素操作

獲得乙個包含畫布場景畫素資料的imagedata對像,它代表了畫布區域的物件資料 ctx.getimagedata sx,sy,sw,sh sx 將要被提取的影象資料矩形區域的左上角 x 座標。sy 將要被提取的影象資料矩形區域的左上角 y 座標。sw 將要被提取的影象資料矩形區域的寬度。sh 將要...

canvas畫素的操作

在canvas中的畫素操作 到目前為止,我們尚未深入了解canvas畫布真實畫素的原理,事實上,你可以直接通過imagedata物件操縱畫素資料,直接讀取或將資料陣列寫入該物件中 得到場景畫素資料 getimagedata 獲得乙個包含畫布場景畫素資料的imagedata對像,它代表了畫布區域的物件...

canvas畫素操作函式封裝

傳入乙個imagedata物件,x軸的座標,y軸的座標 function getpxinfo imgdata,x,y 獲取某個畫素呼叫函式 示例 var imgdata ctx.getimagedata 0,0,canvas.width,canvas.height 獲取 49,49 的畫素的rgba...