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

在线预览   源码下载

HTML代码如下

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

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

  1. var dolly1 = document.getElementById('dolly1')
  2. var dolly2 = document.getElementById('dolly2')
  3. var dolly3 = document.getElementById('dolly3')
  4. var pixelOpts = [ { resolution: 8 } ]
  5. var pixelDolly1 = dolly1.closePixelate( pixelOpts )
  6. var pixelDolly2 = dolly2.closePixelate( pixelOpts )
  7. var pixelDolly3 = dolly3.closePixelate( pixelOpts )
  8. var range = document.getElementById('range')
  9. var output = document.getElementById('output')
  10.  
  11. range.addEventListener( 'change', function( event ) {
  12. var res = parseInt( event.target.value, 10 )
  13. res = Math.floor( res / 2 ) * 2
  14. res = Math.max( 4, Math.min( 100, res ) )
  15. output.textContent = res
  16. // console.log( res );
  17. pixelOpts = [ { resolution: res } ]
  18. pixelDolly1.render( pixelOpts )
  19. pixelDolly2.render( pixelOpts )
  20. pixelDolly3.render( pixelOpts )
  21. }, false )

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

  1. var dolly1 = document.getElementById('dolly1')
  2. var dolly2 = document.getElementById('dolly2')
  3. var dolly3 = document.getElementById('dolly3')
  4. var pixelOpts = [ { resolution: 8 } ]
  5. var pixelDolly1 = dolly1.closePixelate( pixelOpts )
  6. var pixelDolly2 = dolly2.closePixelate( pixelOpts )
  7. var pixelDolly3 = dolly3.closePixelate( pixelOpts )
  8. var range = document.getElementById('range')
  9. var output = document.getElementById('output')
  10.  
  11. range.addEventListener( 'change', function( event ) {
  12. var res = parseInt( event.target.value, 10 )
  13. res = Math.floor( res / 2 ) * 2
  14. res = Math.max( 4, Math.min( 100, res ) )
  15. output.textContent = res
  16. // console.log( res );
  17. pixelOpts = [ { resolution: res } ]
  18. pixelDolly1.render( pixelOpts )
  19. pixelDolly2.render( pixelOpts )
  20. pixelDolly3.render( pixelOpts )
  21. }, 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. Kotlin 特性 语法糖 优势 扩展 高阶 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  2. hadoop常见问题总结1

    本文地址:http://www.cnblogs.com/archimedes/p/hadoop-problem1.html,转载请注明源地址. 问题1:http://localhost:50030 H ...

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

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

  4. java常用公共代码二之分页代码的实现

    在项目中,我们经常会写到一些公共的代码,来让开发人员调用,减少代码重复,下面,我就将一些常用到的公共类贴出来和大家分享!! 二.分页代码实现:在项目中,分页是一个项目中必不可少的,它可以防止我们从数据 ...

  5. Visual Studio 2013 Update2

    下载: http://download.microsoft.com/download/6/7/8/6783FB22-F77D-45C5-B989-090ED3E49C7C/vs2013.2.iso

  6. aes加密在linux下会生成随机key的解决办法

    直接贴代码了: package com.segerp.tygl.weixin.common; import java.io.UnsupportedEncodingException; import j ...

  7. VMWare Workstation 15 serial number

    Serial number:YZ718-4REEQ-08DHQ-JNYQC-ZQRD0 该Key仅供体验,支持正版,从我做起. 点击此处购买正版

  8. 前端project与性能优化(长文)

    原文链接:http://fex.baidu.com/blog/2014/03/fis-optimize/ 每一个參与过开发企业级 web 应用的前端project师也许都曾思考过前端性能优化方面的问题 ...

  9. OSSSME - 开源软件助力中小企业发展

    怀揣着为中小企业量身定做一整套开源软件解决方案的梦想开始了一个网站的搭建.http://osssme.org/ [2013-8-2] 由于同时更新2个站点的信息比较繁琐,今后所有和iDempiere. ...

  10. HttpSolrServer 实例管理参考,来自org.eclipse.smila.solr

    http://dev.eclipse.org/svnroot/rt/org.eclipse.smila/trunk/core/org.eclipse.smila.solr/code/为什么要对实例管理 ...