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


    效果请点击下面网址: http://hovertree.com/texiao/html5/1.htm


    一、开门见山
    受美国肖像画家Chuck Close的启发,此脚本通过使用HTML5 canvas元素把图像转换成像素形式,这基本上是一个为canvas imageData功能的简单演示。

    此脚本现存于GitHub上,您可以在那里下载到脚本和示例。在GitHub上查看像素化资源


    二、选项
    此方法接受一个对象数组,每个对象都拥有一组选项。
    resolution : 渲染像素间的像素距离,必须的。
    shape : 像素的形状。 接受的选项有:square, circle, 以及diamond。可选,默认是square。
    size : 渲染像素的像素大小值,可选,默认值是resolution。
    offset : 偏移像素。可选,默认是0。可以是一个单独的值15实现对角线偏移,或者是个数组或X/Y关键字的对象实现偏移:
    [ 15, 5 ] 或 { x: 15, y: 5 }。
    alpha : 小数值,指渲染的透明度。 可选,默认是1。



    三、代码示例

    要想让图片像素化,首先调用如下脚本:
    <script type="text/javascript" src="http://hovertree.com/texiao/html5/1/js/close-pixelate.js"></script>
    然后调用方法closePixelate,更具体的是:
    图片dom.closePixelate(选项参数)

    此脚本可以应用于各类图片。根据HTML5规范,浏览器禁止任何外部托管图片上使用getImageData (),但是,多亏了John Schulz的巨大贡献,通过使用Max Novakovic的getImageData API,进一步像素化具有内置的方法来解决这个安全特征。

    <img id="pixelExample2" src="pixel-example.jpg" width="300" height="426" />

    在你的脚本中使用closePixelate方法与图片上,你可以通过一组数组选项控制图片输出。如下示例代码:
    document.getElementById('pixelExample2').closePixelate( [ 
    { resolution: 24 }
    ] );


    html代码如下:

    <!doctype html>
    <html lang="zh">
    <head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>基于HTML5 Canvas实现的图片马赛克模糊特效-何问起</title>
    <link rel="stylesheet" type="text/css" href="1/css/normalize.css" />
    <link rel="stylesheet" type="text/css" href="1/css/default.css">
    <style type="text/css">
    .thumb
    {
    margin-left: 5em;
    }
    .thumb img
    {
    max-width: 400px;
    }
    </style>
    </head>
    <body>
    <div style="760px;margin:0px auto">
    <h2>基于HTML5 Canvas的图片马赛克模糊特效 何问起</h2>
    <a href="http://hovertree.com">首页</a> <a href="http://hovertree.com/hvtart/bjae/160ced36cb3a6a86.htm">原文</a> <a href="http://hovertree.com/texiao/html5/1/tupianmohu.rar" target="_self">下载</a>
    <a href="http://hovertree.com/texiao/">特效库</a><br />
    </div>
    
    <div class="container">
    <div class="content bgcolor-8">
    <p class="center">
    改变模糊度
    <input type="range" min="4" max="100" value="6" id="range" />
    <span id="output">6</span></p>
    <div class="thumb">
    <img src="1/img/1.jpg" id="dolly1" />
    <img src="1/img/2.jpg" id="dolly2" />
    <img src="1/img/3.jpg" id="dolly3" />
    </div>
    </div>
    </div>
    <script src="http://hovertree.com/texiao/html5/1/js/close-pixelate.js"></script>
    <script>
    window.onload = function () {
    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)
    }
    </script>
    </body>
    </html>

    下载 :http://hovertree.com/texiao/html5/1/tupianmohu.rar

    转自:http://hovertree.com/hvtart/bjae/160ced36cb3a6a86.htm

    web前端汇总http://www.cnblogs.com/jihua/p/webfront.html

  • 相关阅读:
    SharePoint 2013 配置基于表单的身份认证
    SharePoint 2013 场解决方案包含第三方程序集
    SharePoint 2010 站点附加数据升级到SP2013
    SharePoint 2013 在母版页中插入WebPart
    SharePoint 2013 搭建负载均衡(NLB)
    SharePoint 部署解决方案Feature ID冲突
    SharePoint 2013 配置基于AD的Form认证
    SharePoint Server 2016 Update
    SharePoint 2013 为用户组自定义EventReceiver
    SharePoint 2013 JavaScript API 记录
  • 原文地址:https://www.cnblogs.com/jihua/p/tupianmohu.html
Copyright © 2020-2023  润新知