日韩欧美国产精品免费一二-日韩欧美国产精品亚洲二区-日韩欧美国产精品专区-日韩欧美国产另-日韩欧美国产免费看-日韩欧美国产免费看清风阁

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

blurify.js - 一款小巧的圖片高斯模糊 JavaScript 庫

admin
2024年10月12日 10:42 本文熱度 965

一款小巧的高斯模糊 JavaScript 庫—— blurify.js。這個小工具能讓你的網(wǎng)頁圖片擁有高斯模糊效果,提升設(shè)計的層次感和美觀度

https://github.com/dabanlee/blurify

在開始之前,我們先來聊聊高斯模糊。高斯模糊,也稱為高斯平滑,是一種常用的圖像處理技術(shù),通過模糊圖片中的像素點,減少細(xì)節(jié),來達到一種朦朧的效果。

Blurify.js 是什么?

讓我們來了解一下 blurify.js。它是一個小巧的高斯模糊庫,大小只有約 2KB。它提供了豐富的選項,可以讓我們輕松實現(xiàn)圖片的高斯模糊效果。而且,它的使用非常簡單,只需要通過 npm 進行安裝即可。

npm i blurify

blurify.js 提供了一個 blurify 函數(shù),我們可以通過傳遞不同的參數(shù)來定制模糊效果。

其中,最常用的三個參數(shù)分別是 imagesblur 和 mode

  • images:表示需要進行模糊處理的目標(biāo)元素。我們可以通過 CSS 選擇器來選取元素,例如 document.querySelectorAll('.blurify')

  • blur:表示模糊的程度,默認(rèn)值為 6。數(shù)值越大,模糊效果越明顯。

  • mode:表示模糊的模式,有三種選項,分別是 csscanvas 和 auto

    • css 模式使用 CSS 的 filter 屬性進行模糊,

    • canvas 模式使用 canvas 導(dǎo)出 base64 格式的圖片,

    • auto 模式會首先嘗試使用 css 模式,如果不可行,則自動切換到 canvas 模式。

了解了這些基本用法后,我們就可以開始編寫代碼來實現(xiàn)高斯模糊效果了。

基本用法

<div class="box">
      <img src="./images/images1.jpg" class="img">
      <span> ==> </span>
      <img data-src="./images/images1.jpg" class="img1">
 </div>
//  下載源碼到 lib 文件夾中
import blurify from "./lib/blurify.es.js";
blurify({
  imagesdocument.getElementsByClassName('img1'),
  blur6,
  mode'auto' 
})

實現(xiàn)效果如下:

源碼分析

因為篇幅原因,源碼就不貼出來了請公眾號自取。

源碼核心功能:

  • preload 函數(shù)用于異步預(yù)加載圖片,確保在執(zhí)行后續(xù)操作前圖片已經(jīng)加載完成。

  • cssSupport 函數(shù)用于檢測瀏覽器是否支持特定的CSS屬性

  • blurify 構(gòu)造函數(shù)創(chuàng)建一個實例,該實例可以對圖片進行模糊處理。它支持兩種模糊模式:CSS和Canvas

  • useCSSMode 方法使用 CSS 的 filter 屬性來實現(xiàn)模糊效果,這通常是更高效的選擇,但如果瀏覽器不支持,則會回退到使用Canvas

  • useCanvasMode 方法通過Canvas API來實現(xiàn)模糊效果,它更通用,但可能不如CSS高效。

  • blurify 方法在 Canvas 上實現(xiàn)模糊效果,通過多次繪制帶有偏移的圖像來模擬模糊。

  • getDataURL 方法將模糊處理后的Canvas``轉(zhuǎn)換為圖片的數(shù)據(jù)URL,這樣可以直接在HTML中使用標(biāo)簽顯示模糊后的圖片。

下面是 Blurify 源碼實現(xiàn)的方法樹。

blurify
├── 構(gòu)造函數(shù) (blurify)
│   ├── 參數(shù) (options)
│   │   ├── 模糊半徑 (blur)
│   │   ├── 模式 (mode)
│   │   └── 圖片數(shù)組 (images)
│   ├── 實例變量
│   │   ├── blur
│   │   ├── mode
│   │   └── $els (圖片元素數(shù)組)
│   └── 方法
│       ├── useCSSMode()
│       ├── useCanvasMode()
│       └── blurify()
├── 方法 (preload)
│   ├── 作用
│   │   └── 預(yù)加載圖片
│   ├── 參數(shù) (images)
│   ├── 返回對象
│   │   └── done() (設(shè)置加載完成回調(diào))
│   └── 邏輯
│       ├── 創(chuàng)建Image對象
│       ├── 設(shè)置圖片源 (src)
│       └── 處理加載完成 (onload) 和錯誤 (onerror)
├── 方法 (cssSupport)
│   ├── 作用
│   │   └── 檢測CSS屬性支持
│   ├── 參數(shù) (key, value)
│   └── 返回值
│       └── 布爾值 (是否支持)
└── 原型方法 (blurify.prototype)
    ├── useCSSMode()
    │   ├── 設(shè)置圖片的CSS模糊效果
    │   └── 遍歷圖片元素
    └── useCanvasMode()
        ├── 預(yù)加載圖片
        ├── 創(chuàng)建Canvas元素
        ├── 繪制圖片到Canvas
        ├── 應(yīng)用模糊效果
        └── 轉(zhuǎn)換Canvas為數(shù)據(jù)URL

源碼獲取:公眾號回復(fù)“blurify.js”。

總結(jié)

總之,blurify.js 是一個非常有用的高斯模糊 JavaScript 庫。它小巧輕便,使用簡單,提供了豐富的選項,可以讓我們輕松實現(xiàn)圖片的高斯模糊效果。


該文章在 2024/10/12 10:42:07 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運作、調(diào)度、堆場、車隊、財務(wù)費用、相關(guān)報表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點,圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務(wù)都免費,不限功能、不限時間、不限用戶的免費OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 亚欧美精品一区 | 国产日韩精品一级二级 | 日本国产欧美精品在 | 国产欧美日韩一区二区三区在线 | 亚洲国产理论片 | 丰满女人又爽又紧又丰满 | 污星人国产 | 日韩一区二区在线免费观看 | 99视频在线 | 片完整片视频在线 | 欧美在线观看网站 | 国产精品亚洲精品爽爽 | 自拍亚洲一区欧美另类尤物 | 国产精品萌白酱永久在线观看 | 亚洲91精品 | 全集高清免费的影视剧在线观看 | 国产免费一级视频在线 | 欧美一区二区三区在线播放 | 偷拍区清纯另类丝袜美腿 | 亚洲日日 | 免费高清影视资源观看 | 国产美女弄出 | 两个人看的www视频免费完整版 | 无人视频在线观看播放免费 | 三级在线观看免费播放 | 国产精品专区第一页在线观看 | 呦呦在线观 | 国产高清一区二区三 | 性夜影院爽黄a爽免费看不卡 | 国产乱子伦午夜视频观看 | 亚洲一区二区三区在线观看网站 | 图片小说亚洲 | 亚洲愉拍自拍另类 | 国产经典aⅴ三级观看 | 视频在线播放 | 精品国产日韩一区二区三区 | 亚洲大片精品免费在线 | 中文字幕欧美在线观看 | 国产午夜视 | 在线观看中文 | 国产综合在线91精品思思 |