有没有办法用Canvas实现类似Photoshop的乘法,差异等层效果?

时间:2010-08-08 10:00:43

标签: javascript html5 canvas

我正在寻找一种方法来实现类似Photoshop的图层效果,例如Canvas + JavaScript的乘法和差异(和屏幕)。

此外,Canvas是否有模糊效果?

1 个答案:

答案 0 :(得分:3)

假设至少在这里熟悉图像处理。如果不是这种情况,你可能想要改进你的问题或者问另一个问题范围更窄。

这些图层效果并不难实现。 Wikipedia has descriptions of how they work以及一些指示。例如,对于乘以,您将每个通道和每个像素的值相乘,并将结果除以255。

至于模糊,通常使用简单的convolution来完成。例如,请参阅Wikipedia again。基本上,在对信号进行卷积时,您要做的是查看具有不同权重的单个像素的邻域(对于高斯模糊,这些权重在2D中形成正态分布的形状)。简单的框模糊可以使用矩阵

1 1 1
1 1 1
1 1 1

只会模糊每个像素及其周围的像素。在图像上执行此操作三次,您也可以很好地逼近高斯模糊。