前面我们分享过一个HTML5 Canvas实现的图像马赛克模糊效果,HTML5处理图片真的非常简单。今天我们要再利用HTML5 Canvas实现一个粒子效果的人物头像,你可以任意选择一张头像图片,接下来该图片会被打散成许多粒子,然后慢慢的重组成图片,鼠标滑过图片时粒子还会出现浮动的动画特效,看上去非常酷。

在线预览   源码下载

HTML代码如下

<p class="center">Change pixel resolution <input type="range" min="4" max="100" value="32" id="range" /> <span id="output">32</span></p>
<div class="thumb">
<img src="img/1.jpg" id="dolly1" />
<img src="img/2.jpg" id="dolly2" />
<img src="img/3.jpg" id="dolly3" />
</div>

定义了一个滑竿和3张待模糊的图片。 JavaScript代码如下

var dolly1 = document.getElementById('dolly1')
var dolly2 = document.getElementById('dolly2')
var dolly3 = document.getElementById('dolly3')
var pixelOpts = [ { resolution: 8 } ]
var pixelDolly1 = dolly1.closePixelate( pixelOpts )
var pixelDolly2 = dolly2.closePixelate( pixelOpts )
var pixelDolly3 = dolly3.closePixelate( pixelOpts )
var range = document.getElementById('range')
var output = document.getElementById('output') range.addEventListener( 'change', function( event ) {
var res = parseInt( event.target.value, 10 )
res = Math.floor( res / 2 ) * 2
res = Math.max( 4, Math.min( 100, res ) )
output.textContent = res
// console.log( res );
pixelOpts = [ { resolution: res } ]
pixelDolly1.render( pixelOpts )
pixelDolly2.render( pixelOpts )
pixelDolly3.render( pixelOpts )
}, false )

以上这个JS文件是马赛克模糊效果的具体实现。 下面是页面上调用的JS代码:

var dolly1 = document.getElementById('dolly1')
var dolly2 = document.getElementById('dolly2')
var dolly3 = document.getElementById('dolly3')
var pixelOpts = [ { resolution: 8 } ]
var pixelDolly1 = dolly1.closePixelate( pixelOpts )
var pixelDolly2 = dolly2.closePixelate( pixelOpts )
var pixelDolly3 = dolly3.closePixelate( pixelOpts )
var range = document.getElementById('range')
var output = document.getElementById('output') range.addEventListener( 'change', function( event ) {
var res = parseInt( event.target.value, 10 )
res = Math.floor( res / 2 ) * 2
res = Math.max( 4, Math.min( 100, res ) )
output.textContent = res
// console.log( res );
pixelOpts = [ { resolution: res } ]
pixelDolly1.render( pixelOpts )
pixelDolly2.render( pixelOpts )
pixelDolly3.render( pixelOpts )
}, false )

以上就是实现这款HTML5 Canvas图片马赛克模糊动画的全部过程。

via:http://www.w2bc.com/Article/21456

基于HTML5 Canvas生成粒子效果的人物头像的更多相关文章

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

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

  2. 基于 HTML5 Canvas 的智能安防 SCADA 巡逻模块

    基于 HTML5 Canvas 的智能安防 SCADA 巡逻模块 前言 最近学习了 HT for Web flow 插件,除了正常的 flow 效果,其中还有两个十分好用的两个接口 getPercen ...

  3. 18个基于 HTML5 Canvas 开发的图表库

    如今,HTML5 可谓如众星捧月一般,受到许多业内巨头的青睐.很多Web开发者也尝试着用 HTML 5 来制作各种各样的富 Web 应用.HTML 5 规范引进了很多新特性,其中之一就是 Canvas ...

  4. 基于HTML5 Canvas实现的图片马赛克模糊特效

    效果请点击下面网址: http://hovertree.com/texiao/html5/1.htm 一.开门见山受美国肖像画家Chuck Close的启发,此脚本通过使用HTML5 canvas元素 ...

  5. 基于html5 canvas和js实现的水果忍者网页版

    今天爱编程小编给大家分享一款基于html5 canvas和js实现的水果忍者网页版. <水果忍者>是一款非常受喜欢的手机游戏,刚看到新闻说<水果忍者>四周年新版要上线了.网页版 ...

  6. 基于HTML5 Canvas的网页画板实现教程

    HTML5的功能非常强大,尤其是Canvas的应用更加广泛,Canvas画布上面不仅可以绘制任意的图形,而且可以实现多种多样的动画,甚至是一些交互式的应用,比如网页网版.这次我们要来看的就是一款基于H ...

  7. 基于HTML5 Canvas实现用户交互

    很多人都有这样的疑问,基于HTML5 Canvas实现的元素怎么和用户进行交互?在这里我们用到HT for Web(http://www.hightopo.com/guide/guide/core/b ...

  8. 基于html5 Canvas图表库 : ECharts

    ECharts开源来自百度商业前端数据可视化团队,基于html5 Canvas,是一个纯Javascript图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表.创新的拖拽重计算.数据视图.值 ...

  9. 一款基于HTML5 Canvas的画板涂鸦动画

    今天给各网友分享一款基于HTML5 Canvas的画板涂鸦动画.记得之前我们分享过一款HTML5 Canvas画板工具,可以切换不同的笔刷,功能十分强大.本文今天要再来分享一款基于HTML5 Canv ...

随机推荐

  1. css整站规划

    准备1 css reset /** * Eric Meyer's Reset CSS v2.0 (http://meyerweb.com/eric/tools/css/reset/) * http:/ ...

  2. 高性能WEB开发:DOM编程

    我们知道,DOM是用于操作XML和HTML文档的应用程序接口,用脚本进行DOM操作的代价很昂贵.有个贴切的比喻,把DOM和Javascript(这里指ECMscript)各自想象为一个岛屿,它们之间用 ...

  3. vmware 传输(vmdb)错误-32:pipe:read failed 解决方法

    摘自: http://www.myzhenai.com.cn/post/1088.html 传输(vmdb)错误-32:pipe:read failed 解决方法   原创内容,转载请注明出处:htt ...

  4. 转:如何转换Android打包用jks格式keystore证书为Air用pkcs12格式p12证书

    转自:http://blog.k-res.net/archives/1539.html 如何转换Android打包用jks格式keystore证书为Air用pkcs12格式p12证书 六月 11, 2 ...

  5. ARC和非ARC在项目中转换

    f your project doesn't use ARC: you must add the -fobjc-arc compiler flag to SVHTTPRequest.m andSVHT ...

  6. Unity3D 多平台_预编译相关宏定义

    http://www.cnblogs.com/zhaoqingqing/p/3510332.html API地址:http://docs.unity3d.com/Documentation/Manua ...

  7. QtGui.QProgressBar

    A progress bar is a widget that is used when we process lengthy tasks. It is animated so that the us ...

  8. java防止sql注入

    public final static String filterSQLInjection(String s) { if (s == null || "".equals(s)) { ...

  9. Linux日志分析的实战专题

      来自 日志也是用户应该注意的地方之一.不要低估日志文件对网络安全的重要作用,因为日志文件能够详细记录系统每天发生的各种各样的事件.用户可以通过日志文件 检查错误产生的原因,或者在受到攻击和黑客入侵 ...

  10. Android开发之定位系统

    2013-07-04 定位系统 全球定位系统(Global Positioning System, GPS), 又称全球卫星定位系统. 最少只需其中3颗卫星,就能迅速确定用户组地球所处的位置及海拔高度 ...