为了账号安全,请及时绑定邮箱和手机立即绑定

马赛克滤镜的size问题

当size不是整数倍时,剩下的未被遍历的像素应当保持原有的rgb值不变。

下图,我的canvas的尺寸是400*280,选取的size为250;

按理来说,应该只有一个方块被填充了完全一样的颜色(马赛克化),其他的部分保持不变(因为马赛克算法没有遍历到,没有进行rgb变换),为何会出现下面的图呢?

5665bdab0001cd3c04630530.jpg

5665bdac0001761f05000148.jpg


正在回答

3 回答

当你将j的初始值设置为size的时候,即你不马赛克化x方向下前size值的图片,但是你会发现图片处理后的情况如下http://img1.sycdn.imooc.com//5673d5760001b45f04010282.jpg

可以得出结论,如果j+size的值大于图片的width时,即(j+dy)的值在大于图片的width,他就会从头开始获取像素值,所以才会出现三段图像,而不是我们预料的两段图像

0 回复 有任何疑惑可以回复我~

首先你的图像出现了黑边证明了你所给的size并不能整除你所要处理的图像,然后就没有然后了

0 回复 有任何疑惑可以回复我~

单位没给吧

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

马赛克滤镜的size问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信