封装好的函数
/*
* 功能:马赛克
* @param Object ctx 绘图环境
* @param Number xxx 马赛克起始点横坐标
* @param Number yyy 马赛克起始点纵坐标
* @param Number w 马赛克宽度
* @param Number h 马赛克高度
* @param Number group 马赛克组数
* @param Number num 马赛克每组的像素点个数
* @return null
*/
function MaSaiKe(ctx, xxx, yyy, w, h, num) {
console.log(arguments);
var obj = ctx.getImageData(xxx, yyy, w, h);
// 计算组数
var group = obj.width / num;
for (var i = 0; i < group; i++) {
for (var j = 0; j < group; j++) {
// 获取每一组中的随机像素点的坐标位置
var x = i * num + rand(0, num - 1);
var y = j * num + rand(0, num - 1);
var color = getPixelColor(obj, x, y);
// 将获取的颜色赋值给同组的其他兄弟
// 循环每一组的所有的像素点
for (var a = 0; a < num; a++) {
for (var b = 0; b < num; b++) {
// 确定每一个像素点的坐标点
var xx = i * num + a;
var yy = j * num + b;
setPixelColor(obj, xx, yy, color);
}
}
}
}
ctx.putImageData(obj, xxx, yyy);
}