在电视上我们经常看到打有马赛克的嫌疑犯。另外微信朋友圈中的照片红包也红极一时,那么如何使用 JavaScript 来实现图片马赛克呢?下面我们将借助一款js插件来实现该功能!
pixelator.js 是一款可以用来将图片制作成马赛克效果的js插件。该插件的灵感来自于美国肖像画家Chuck Close。官方地址:http://www.benjaminkeen.com/category/projects/thepixelator/
pixelator.js 使用方法
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>:http://www.xttblog.com</title> </head> <body> <img id="portrait-image" src="img/portrait.jpg" /> <script> function init() { document.getElementById('portrait-image').closePixelate([ { resolution : 24 }, { shape : 'circle', resolution : 24, size: 16, offset: 12, alpha: 0.5 } ]); }; window.addEventListener( 'load', init, false); </script> </body> </html>
在上面的例子中,第一组参数{ resolution : 24 }控制脚本每24像素就画一个大的正方形像素,然后为每一个正方形像素的中心填充一个精确的颜色值。
第二组参数使用了所有的可用参数:{ shape : 'circle', resolution : 24, size: 16, offset: 12, alpha: 0.5 }。和第一组参数一样,它的分辨率是24px,像素的形状是圆形,每一个圆形的大小是16像素,每一个圆形的右边都有12像素的偏移量,最后这个圆形的透明度被设置为50%。
pixelator.js 可用参数
- resolution :被渲染像素之间的距离。必须设定。
- shape :像素的形状。可选值:square、circle 和 diamond,默认值:square。可选。
- size :渲染像素的大小。可选。默认值为resolution。
- offset :像素之间的偏移值。可选,默认值为0.可以只设置一个值,这时为对角偏移。也可以设置为一个数组或对象:[ 15, 5 ]或{ x: 15, y: 5 }。
- alpha :渲染像素的透明度,可选,默认值为1。
pixelator.js Canvas 马赛克 运行效果
: » 使用 pixelator.js 实现图片马赛克功能
原创文章,作者:kepupublish,如若转载,请注明出处:https://blog.ytso.com/tech/aiops/251190.html