通过调整RGB值来编写自定义灰度滤镜,可以使用以下方法:
// 获取图像数据
var imageData = context.getImageData(0, 0, canvas.width, canvas.height);
var data = imageData.data;
// 遍历每个像素点,应用灰度滤镜
for (var i = 0; i < data.length; i += 4) {
var R = data[i];
var G = data[i + 1];
var B = data[i + 2];
// 计算灰度值
var gray = (R + G + B) / 3;
// 将灰度值赋给RGB的三个通道
data[i] = gray;
data[i + 1] = gray;
data[i + 2] = gray;
}
// 将处理后的图像数据放回画布
context.putImageData(imageData, 0, 0);
领取专属 10元无门槛券
手把手带您无忧上云