反色滤镜:
原理:从255中减去每个像素的红、绿、蓝分量值,再将差值赋值回去实现反转
代码:
//反色滤镜
function negative_Filter(data) {
for (var i = 0; i < data.length - 4; i += 4) {
data[i] = 255 - data[i];
data[i + 1] = 255 - data[i + 1];
data[i + 2] = 255 - data[i + 2];
}
return data;
}
黑白滤镜:
原理:计算出每个像素的红、绿、蓝分量值的平局值,然后将三个分量值都设置为该平均值
代码实现:
//黑白滤镜
function BAW_Filter(data) {
for (var i = 0; i < data.length - 4; i += 4) {
var tmp = (data[i] + data[i + 1] + data[i + 2]) / 3;
data[i] = tmp;
data[i + 1] = tmp;
data[i + 2] = tmp;
}
return data;
}