StackBlur.js

StackBlur.js 是 Mario Klingemann 创建的一个快速的、接近高斯模糊的效果库。

开始

安装引用

独立版本

要使用独立版本,需要从 Github 上下载 latest zip,或者 clone 库 。

git clone [email protected]:flozz/threadify.git

然后在你的 HTML 页面中引入dist/stackblur.js或者dist/stackblur.min.js文件。

<script src="StackBlur/dist/stackblur.js"></script> 

NPM / Browserify

使用 NPM 包管理器,安装包:

npm install --save stackblur-canvas

在你需要的地方引用

var StackBlur = require("stackblur-canvas"); 

Bower

要使用 Bower package,安装包:

bower install stackblur-canvas

然后在你的 HTML 页面中引入dist/stackblur.js或者dist/stackblur.min.js文件:

<script src="bower_components/stackblur-canvas/dist/stackblur.js"></script> 

API 调用

下面是针对不同的源(图片或者 Canvas 等)进行 StackBlur 的调用。

图像作为源:

StackBlur.image(sourceImage, targetCanvas, radius, blurAlphaChannel); 
  • sourceImage:HTMLImageElement或者它的id
  • targetCanvas:HTMLCanvasElement或者它的id
  • radius:模糊半径
  • blurAlphaChannel: 如果你想模糊一个 RGBA 的图像,就将其设置为true(可选,默认 =false)

RGBA Canvas 作为源:

StackBlur.canvasRGBA(targetCanvas, top_x, top_y, width, height, radius); 
  • targetCanvas:HTMLCanvasElement
  • top_x: 要模糊的矩形的左上角的水平坐标
  • top_y: 要模糊的矩形的左上角的垂直坐标
  • width: 要模糊的矩形宽度
  • height: 要模糊的矩形高度
  • radius: 模糊半径

RGB Canvas 作为源:

StackBlur.canvasRGB(targetCanvas, top_x, top_y, width, height, radius); 
  • targetCanvas:HTMLCanvasElement
  • top_x: 要模糊的矩形的左上角的水平坐标
  • top_y: 要模糊的矩形的左上角的垂直坐标
  • width: 要模糊的矩形宽度
  • height:要模糊的矩形高度
  • radius: 模糊半径

RGBA ImageData 作为源:

StackBlur.imageDataRGBA(imageData, top_x, top_y, width, height, radius); 
  • imageData: canvas 的ImageData
  • top_x:要模糊的矩形的左上角的水平坐标
  • top_y: 要模糊的矩形的左上角的垂直坐标
  • width: 要模糊的矩形宽度
  • height: 要模糊的矩形高度
  • radius: 模糊半径

RGB ImageData 作为源:

StackBlur.imageDataRGB(imageData, top_x, top_y, width, height, radius); 
  • imageData: canvas 的ImageData
  • top_x:要模糊的矩形的左上角的水平坐标
  • top_y: 要模糊的矩形的左上角的垂直坐标
  • width: 要模糊的矩形宽度
  • height: 要模糊的矩形高度
  • radius: 模糊半径

Hacking

构建

该库是使用 Grunt 构建的。如果你想修改src/目录下的内容,使用下面的命令来重新构建文件到dist/目录下:

grunt

项目主页:http://www.open-open.com/lib/view/home/1448600069454

时间: 2024-11-10 18:46:35

StackBlur.js的相关文章

Web前端之高斯模糊图片记

题记 前端需求之高斯模糊图片 最近工作中有一个需求,客户提交图片,服务器根据图片生成内容,并将内容显示,要求高斯模糊处理用户的图片并作为作品展示的背景,类似于苹果设备上的高斯模糊背景.用户提交的图片分网络图片地址.终端设备上传两种.要求兼容各大浏览器. 解决方案一:CSS3滤镜 在CSS3 中规定了一个新的图形特效:filter ,可以对元素进行模糊.锐化或者元素变色. filter 目的是用来调整图片.背景和边界的渲染. 在CSS3 中已经实现了filter 的一些预定义函数,MDN 中介绍如

[转] 小tip: 使用CSS将图片转换成模糊(毛玻璃)效果 ---张鑫旭

by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=3804 去年盛夏之时,曾写过“小tip: 使用CSS将图片转换成黑白”一文,本文的模式以及内容其实走得是类似路线.CSS3 → SVG → IE filter → canvas. 前段时间,iOS7不是瓜未熟就落地了嘛,然后捡瓜的人很多,然后国内外开始了各种探讨,从界面到动画,从兼容到实现等.其中,“毛玻璃”一次梆梆出世

一款基于jquery漂亮的按钮

之前为大家分享了好多css3实现的按钮.今天给大家分享一款基于jquery漂亮的按钮.这款按钮背景下用了一张图片.当鼠标经过的时候背景用半透明div遮住.一起看下效果图: 在线预览   源码下载 实现的代码. html代码: <a class="btn" data-js="btn"><span class="btn-inr"><span class="txt-a">See This Butt

CSS3魔法堂:滤镜

一.前言    IE特有的滤镜常常作为CSS3各种新特性的降级处理补充,而Adobe转向HTML5后与Chrome合作推出CSS3的Filter特性,因此当前仅Webkit内核的浏览器支持CSS3 Filter,而FF和IE10+则需要使用SVG滤镜(svg effects for html)或Canvas作为替代方案处理了,而IE5.5~9则使用IE滤镜.JS+DIV或VML处理!本篇为先占个坑,以后慢慢填^_^!!! CSS3 Filter兼容性表 SVG effect for HTML兼容

CSS3魔法堂:CSS3滤镜及Canvas、SVG和IE滤镜替代方案详解

一.前言    IE特有的滤镜常常作为CSS3各种新特性的降级处理补充,而Adobe转向HTML5后与Chrome合作推出CSS3的Filter特性,因此当前仅 Webkit内核的浏览器支持CSS3 Filter,而FF和IE10+则需要使用SVG滤镜(svg effects for html)或Canvas作为替代方案处理了,而IE5.5~9则使用IE滤镜.JS+DIV或VML处理!本篇为先占个坑,以后慢慢填^_^!!! CSS3 Filter兼容性表 SVG effect for HTML兼

9个有用的CSS3 Filter

昨天开通了博客园的博客,感谢这里.虽然关注这里有好几年了,也伴随我的成长给了我不少的帮助,但是一直也没自己开通一个技术博客,感觉浪费了不少大好时光啊.. 第一天开通博客就copy了别人的文章,惭愧……觉得好文章还是要留下来好,不管是不是抄的,以后都会经常来看的. 一.前言    IE特有的滤镜常常作为CSS3各种新特性的降级处理补充,而Adobe转向HTML5后与Chrome合作推出CSS3的Filter特性,因此当前仅Webkit内核的浏览器支持CSS3 Filter,而FF和IE10+则需要

css3----毛玻璃效果

附上要实现的效果图,如果我截图截的不明显的话,我可以解说下: 中间是获取到一本书的封面,然后背景按获取到的封面平铺,并且模糊,上面还有一层透明度0.65的蒙层 听着是不是很简单,实现起来还是有很多问题的. html结构代码: 一般人的实现办法是一个div存放内容(指针.转盘.书名.audio操作区等),然后宽度100%,高度100%,然后另外给个div存放背景,当然不想多写div的话,可以用伪类实现,我用的是::before,css样式如下:背景模糊------filter:blur(模糊数值)

CSS Blur() 将高斯模糊应用于输出图片

一.Css  Blur() blur() CSS 方法将高斯模糊应用于输出图片. 结果为 <filter-function>. blur(radius) radius模糊的半径,值为<length>. 它定义了高斯函数的标准偏差值,即屏幕上有多少像素相互融合; 因此,较大的值会产生更多模糊. 值为0会使输入保持不变. 该值为空则为0. blur(0) /* No effect */ blur(8px) /* Blur with 8px radius */ blur(1.17rem)

【API】高德地图API JS实现获取坐标和回显点标记

1.搜索+选择+获取经纬度和详细地址 2.回显数据并点标记 3.实现 第一步:引入资源文件 <!--引入高德地图JSAPI --><script src="//webapi.amap.com/maps?v=1.3&key=在官网申请一个key"></script><!--引入UI组件库(1.0版本) --><script src="//webapi.amap.com/ui/1.0/main.js">