乘以效应kineticjs

时间:2014-01-18 16:14:53

标签: javascript html5 canvas html5-canvas kineticjs

我想知道必须使用kineticjs框架产生多重效果。 我的问题是下一个:

我有背景是图像 我需要在图像上绘制多边形并对该新多边形应用多重效果。

有人可以帮忙吗?

由于

1 个答案:

答案 0 :(得分:0)

您可以按以下方式应用图片过滤器:

  • 读取您要过滤的图像的rgb像素 - context.getImageData
  • 根据您的过滤器
  • 更改rgb像素值
  • 使用更改的像素替换图像中的像素 - context.putImageData

以下是如何对图像应用乘法滤镜:

function multiply(R,G,B){
    imgData = ctx.getImageData(0, 0, canvas.width, canvas.height);
    data = imgData.data;
    for (var i=0;i<data.length;i+=4){
        data[i  ] = R*data[i]/255;
        data[i+1] = G*data[i+1]/255;
        data[i+2] = B*data[i+2]/255;
    }
    ctx.putImageData(imgData,0,0);
}

// Usage:
multiply(130,130,200)