马赛克

封装好的函数

/*

* 功能:马赛克

* @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);

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容