創建的一個快速的、接近高斯模糊的效果庫:StackBlur.js

jopen 9年前發布 | 38K 次閱讀 JavaScript開發 StackBlur.js

StackBlur.js 是 Mario Klingemann 創建的一個快速的、接近高斯模糊的效果庫。

開始

安裝引用

獨立版本

要使用獨立版本,需要從 Github 上下載 latest zip,或者 clone 庫 。

git clone git@github.com: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.baiduhome.net/lib/view/home/1448600069454

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!