还是这个美女,长这样
然后进行一个浮雕操作
一瞬间,生动活跃的人物就变成了石板雕刻,还带上了一点质感.如何实现这种浮雕质感呢?放在画布里,也就是对像素的操作,关键就在怎么操作了.
先这样:把每个像素的通道和相邻像素的通道值进行差值运算,
再这样:得到结果加上中性灰的值(128),
然后再这样:当前像素把以上运算得到结果进行一次按权的平均运算(就是实现灰度时候的按权整数法),把所得值赋值给各个通道.具体点就是这样
1.获取画布上图像的像素信息
2.遍历每一个像素
3.把相邻像素的同个通道进行差值运算,再加上中性灰的色值
4.把结果通道的值进行求和并按权平均作为最终通道的值
5.把处理后的像素信息放回画布
注意:浮雕分凸面和凹面型,这里实现的是凹面型,凸面型要在3的基础上进行反相操作(取它的补数)
And then…
function Filter(context){
this.context = context;
}
Filter.prototype.constructor = Filter;
Filter.prototype.relief = function(startX, startY, w, h