HTML5 canvas生成图片马赛克特效插件


简要教程

这是一款使用html5 canvas来将图片制作成马赛克效果的js插件。该插件的灵感来自于美国肖像画家Chuck Close。已经有人使用这个js插件来制作了一个完整的图片马赛克应用框架:The Pixelator。
使用方法
这个马赛克效果js插件需要使用同源的图片,根据 HTML5 规范,浏览器在解析getImageData()方法时会阻止获取跨浏览器的图片。
该canvas插件的html结构非常简单,就是使用一个<img>标签:
<img id="portrait-image" src="img/portrait.jpg" /> 然后可以使用下面的方法调用插件:
function init() {
document.getElementById('portrait-image').closePixelate([
{ resolution : },
{ shape : 'circle', resolution : , size: , offset: , alpha: 0.5 }
]);
};
window.addEventListener( 'load', init, false); 你可以使用一个可用参数数组中来控制输出的马赛克效果。参数数组中每一个集合都是一个对象,代表了某种马赛克输出效果。
在上面的例子中,第一组参数{ resolution : }控制脚本每24像素就画一个大的正方形像素,然后为每一个正方形像素的中心填充一个精确的颜色值。
第二组参数使用了所有的可用参数:{ shape : 'circle', resolution : , size: , offset: , alpha: 0.5 }。和第一组参数一样,它的分辨率是24px,像素的形状是圆形,每一个圆形的大小是16像素,每一个圆形的右边都有12像素的偏移量,最后这个圆形的透明度被设置为50%。
可用参数
resolution :被渲染像素之间的距离。必须设定。
shape :像素的形状。可选值:square、circle 和 diamond,默认值:square。可选。
size :渲染像素的大小。可选。默认值为resolution。
offset :像素之间的偏移值。可选,默认值为0.可以只设置一个值,这时为对角偏移。也可以设置为一个数组或对象:[ , ]或{ x: , y: }。
alpha :渲染像素的透明度,可选,默认值为1。
构造函数和方法
var img = document.getElementById('portrait-img');
// create a new Close Pixelation instance with ClosePixelation
// requires two arguments: the original image element
// and an array of options
var myPixelation = new ClosePixelation( img, [
{ resolution : }
]);
// re-render the canvas with different options
myPixelation.render([
{ resolution: },
{ resolution: , shape: 'circle', offset: }
]);
// render a single option-set on top
myPixelation.renderClosePixels({
resolution: , alpha: 0.5
}); 应用举例
html5 canvas图片马赛克效果-
{ shape : 'diamond', resolution : , size: },
{ shape : 'diamond', resolution : , offset : },
{ shape : 'circle', resolution : , size: } html5 canvas图片马赛克效果-
{ resolution: },
{ shape : 'circle', resolution : , offset: },
{ shape : 'circle', resolution : , size: , offset: },
{ shape : 'circle', resolution : , size: , offset: },
{ shape : 'circle', resolution : , size: , offset: } html5 canvas图片马赛克效果-
{ resolution: },
{ shape: 'diamond', resolution: , offset: , alpha: 0.5 },
{ shape: 'diamond', resolution: , offset: , alpha: 0.5 },
{ shape: 'circle', resolution: , size: , offset: , alpha: 0.5 } html5 canvas图片马赛克效果-
{ shape: 'circle', resolution: , size: , offset: },
{ shape: 'circle', resolution: , size: , offset: },
{ shape: 'circle', resolution: , size: , offset: },
{ shape: 'circle', resolution: , size: , offset: } html5 canvas图片马赛克效果-
{ shape: 'diamond', resolution: , size: },
{ shape: 'diamond', resolution: , offset: },
{ resolution: , alpha: 0.5 } html5 canvas图片马赛克效果-
{ shape: 'square', resolution: },
{ shape: 'circle', resolution: , offset: },
{ shape: 'circle', resolution: , offset: , alpha: 0.5 },
{ shape: 'circle', resolution: , size: , offset: , alpha: 0.5 } html5 canvas图片马赛克效果-
{ shape : 'circle', resolution : },
{ shape : 'circle', resolution : , size: , offset: } html5 canvas图片马赛克效果-
{ shape : 'square', resolution : , offset: },
{ shape : 'circle', resolution : , offset : },
{ shape : 'diamond', resolution : , size: , offset : , alpha : 0.6 },
{ shape : 'diamond', resolution : , size: , offset : , alpha : 0.6 } html5 canvas图片马赛克效果-
{ shape : 'square', resolution : },
{ shape : 'diamond', resolution : , size: },
{ shape : 'diamond', resolution : , size: , offset : } 本文地址:http://www.htmleaf.com/html5/html5-canvas/201502021314.html

HTML5 canvas生成图片马赛克特效插件的更多相关文章

  1. 基于html5 canvas 的强大图表插件【Chart.js】

    名词解释 Chart.js:是基于html5和canvas的强大图表插件,支持多样的图表形式,柱状线性饼环极地雷达等等: canvas:只兼容到IE9 excanvas.js:强大的第三方兼容插件,可 ...

  2. html5 canvas做的图表插件

    用highchart的时候发现它是用svg来画图的,那么用canvas来做怎么样的. 以前做AS图表插件的时候,绘制图画主要用容器的Graphics对象来绘制,而canvas的context和Grap ...

  3. 黄聪:手机移动端建站Jquery+CSS3+HTML5触屏滑动特效插件、实现触屏焦点图、图片轮展图

    前言 TouchSlide 可以说是 SuperSlide 手机简化版,不同的地方在于:1.TouchSlide是纯javascript开发的,不依赖任何js库,鉴于此,TouchSlide调用方法和 ...

  4. html5 canvas图片马赛克

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  5. 程序猿必备的10款超炫酷HTML5 Canvas插件

    1.超炫酷HTML5 Canvas 3D旋转地球动画 这是一款基于HTML5 Canvas的3D地球模拟动画,动画以太空作为背景,地球在太空中旋转,同时我们也可以拖拽鼠标来从不同的角度观察地球.另外我 ...

  6. 16个富有创意的HTML5 Canvas动画特效集合

    HTML5技术正在不断的发展和更新,越来越多的开发者也正在加入HTML5阵营,甚至在移动开发上HTML5的地位也是越来越重要了.HTML5中的大部分动画都是通过Canvas实现,因为Canvas就像一 ...

  7. 16个非常有趣的HTML5 Canvas动画特效集合

    HTML5技术正在不断的发展和更新,越来越多的开发者也正在加入HTML5阵营,甚至在移动开发上HTML5的地位也是越来越重要了.HTML5中的大部分动画都是通过Canvas实现,因为Canvas就像一 ...

  8. 基于HTML5 Canvas粒子效果文字动画特效

    之前我们分享过很多超酷的文字特效,其中也有利用HTML5和CSS3的.今天我们要来分享一款基于HTML5 Canvas的文字特效,输入框中输入想要展示的文字,回车后即可在canvas上绘制出粒子效果的 ...

  9. 一款由html5 canvas实现五彩小圆圈背景特效

    之前介绍了好几款html5 canvas实现的特效.今天要为大家介绍一款由html5 canvas实现五彩小圆圈背景特效.五彩的小圆圈渐显渐失的特效.效果图如下: 在线预览   源码下载 html代码 ...

随机推荐

  1. [Locked] Flatten 2D Vector

    Problem Description: Implement an iterator to flatten a 2d vector. For example,Given 2d vector = [ [ ...

  2. iPhone应用中如何避免内存泄露?

    如何有效控制iPhone内存管理的对象的所有权与引用计数和以及iPhone内存的自动释放与便捷方法.本文将介绍在iPhone应用中如何避免内存泄露.想了解“在iPhone应用中如何避免内存泄露”就必须 ...

  3. 在pcDuino上刷了AndDroid,Ubuntu,XBMC

    一.Android.Ubuntu.XBMC播放高清视频得比较 1.Andrioid上播放1080P 无压力,硬件解码 2.Ubuntu上用Mplayer播放视频会很卡,可能是没有硬解的原因 3.Ubu ...

  4. Linux一键安装PHP/JAVA环境OneinStack

    OneinStack 是一款PHP/JAVA环境一键配置工具.                         OneinStack包含以下组合   lnmp(Linux + Nginx+ MySQL ...

  5. Hadoop入门--HDFS(单节点)配置和部署 (一)

    一 配置SSH 下载ssh服务端和客户端 sudo apt-get install openssh-server openssh-client 验证是否安装成功 ssh username@192.16 ...

  6. 单件模式Singleton来控制窗体被重复或多次打开

    本文转载:http://blog.csdn.net/a0700746/article/details/4473796 一般在百度搜一下,会出来一下内容,看来很好用.Singleton很方便的一个用处就 ...

  7. SAP-MM:创建采购组织、采购组

    创建采购组织 路径:SPRO – IMG – 企业结构 – 定义 – 物料管理 – 维护采购组织   操作: Step 1.点击"新条目". Step 2.维护"采购组织 ...

  8. 基于SQL的日志分析工具myselect

    基本介绍 程序开发者常常要分析程序日志,包括自己打印的日志及使用的其他软件打印的日志,如php,nginx日志等,linux环境下分析日志有一些内置命令能够使用,如grep,sort,uniq,awk ...

  9. LVS图解 ---阿里

    LVS在大规模网络环境中的应用   1. SLB总体架构   LVS本身是开源的,我们对它进行了多方面的改进,并且也已开源-https://github.com/alibaba/LVS.     接下 ...

  10. 浅析mysql 共享表空间与独享表空间以及他们之间的转化

        innodb这种引擎,与MYISAM引擎的区别很大.特别是它的数据存储格式等.对于innodb的数据结构,首先要解决两个概念性的问题: 共享表空间以及独占表空间.什么是共享表空间和独占表空间共 ...