更新记录

1.0.0(2026-07-22)

  • 首次发布图片毛玻璃虚化组件。
  • 支持网络图片、本地图片和 Android file://content:// 地址。
  • 支持模糊强度、降采样、显示模式、圆角、叠色和触摸开关。
  • 支持 loadreadyerror 事件以及 loadreloadclear 方法。

平台兼容性

uni-app(3.7.11)

Vue2 Vue3 Chrome Safari app-vue app-nvue app-nvue插件版本 Android Android插件版本 iOS iOS插件版本 鸿蒙
× × × × × 1.0.0 5.0 1.0.0 12 1.0.0 ×
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 小红书小程序 快应用-华为 快应用-联盟
× × × × × × × × × × × ×

uni-app x(3.8.0)

Chrome Safari Android Android插件版本 iOS iOS插件版本 鸿蒙 微信小程序
× × 5.0 1.0.0 12 1.0.0 × ×

其他

多语言 暗黑模式 宽屏模式
×

kongbai-filter-image

原生图片毛玻璃虚化组件,基于 UTS 原生 View 实现。组件直接处理图片内容,支持网络图片、本地图片以及 Android file://content:// 地址。

特性

  • iOS 使用 Core Image 高斯模糊。
  • Android 12 及以上使用系统 GPU 模糊;低版本使用降采样原生图片处理。
  • 支持图片裁剪模式、圆角、叠色和动态调整模糊强度。
  • 图片加载和处理在后台执行,完成后通过事件通知页面。

支持平台

平台 支持版本
uni-app App nvue Android Android 5.0(API 21)及以上
uni-app App nvue iOS iOS 9.0 及以上
uni-app x App Android Android 5.0(API 21)及以上
uni-app x App iOS iOS 9.0 及以上
Web、各类小程序、鸿蒙 不支持

组件依赖 App 原生运行环境,请使用自定义基座或云打包后的 App 运行。

安装

通过插件市场安装后,组件会放在项目的 uni_modules/kongbai-filter-image 目录中。安装完成后可以直接在页面模板中使用,无需额外注册组件。

基础用法

<template>
  <view class="page">
    <kongbai-filter-image
      class="image"
      src="/static/demo.jpg"
      :blur="28"
      :downsample="4"
      scaleMode="cover"
      :cornerRadius="20"
      tintColor="#FFFFFF"
      :tintOpacity="0.04"
      @ready="onReady"
      @error="onError"
    />
    <text class="status">{{loadState}}</text>
  </view>
</template>

<script setup lang="uts">
const loadState = ref('loading')

const onReady = () : void => {
  loadState.value = 'ready'
}

const onError = () : void => {
  loadState.value = 'error'
}
</script>

<style>
.page {
  width: 750rpx;
  padding: 24rpx;
}

.image {
  width: 702rpx;
  height: 420rpx;
}

.status {
  margin-top: 16rpx;
  color: #666666;
  font-size: 24rpx;
}
</style>

属性

属性 类型 默认值 说明
src String "" 图片地址。支持 http://https:///static/、本地绝对路径;Android 还支持 file://content://
blur Number 20 模糊强度,范围 0-800 表示关闭模糊,常用范围为 16-48
downsample Number 4 处理前的降采样倍率。数值越大性能越好、细节越少,建议使用 2-4。Android 范围为 1-8,iOS 范围为 1-6
maxSize Number 1600 Android 处理图片的最大边长,超出后会先缩小。适合大图场景;iOS 当前不使用此属性进行缩放。
scaleMode String "cover" 图片显示模式:covercontainstretchcenter
cornerRadius Number 0 圆角半径,单位为平台布局单位。
tintColor String "#FFFFFF" 叠加颜色,支持 #RGB#RRGGBB
tintOpacity Number 0 叠加颜色透明度,范围 0-1。自然毛玻璃效果建议使用 0.02-0.08
interactive Boolean false 是否允许原生 View 接收触摸。

事件

事件 参数 说明
load { src: String } 开始加载图片时触发。
ready { src: String } 图片完成加载和模糊处理后触发。
error { code: String, message: String, src: String } 图片加载或解码失败时触发。

错误码:

  • load_failed:图片无法加载、解码失败或地址不可访问。

方法

通过组件实例调用以下方法:

方法 参数 说明
load(src) String 加载并处理新的图片地址。
reload() 重新加载当前图片。
clear() 清空图片并取消当前处理任务。

参数建议

普通图片建议使用:

<kongbai-filter-image
  class="image"
  src="/static/demo.jpg"
  :blur="28"
  :downsample="4"
  :tintOpacity="0.04"
  scaleMode="cover"
/>

需要更明显的虚化时,将 blur 调整到 36-54;大尺寸图片或列表场景建议提高 downsample,并控制同时显示的组件数量。

图片地址与权限

  • 加载网络图片需要应用具备网络访问权限,Android 插件已声明 INTERNET 权限。
  • 网络图片建议使用 https:// 地址,并确保服务器允许 App 访问。
  • 本地图片请确认路径属于当前 App 可访问的资源或文件目录。
  • 组件不缓存图片,也不上传图片内容;网络请求仅用于读取调用方传入的地址。

版本

当前版本:1.0.0

隐私、权限声明

1. 本插件需要申请的系统权限列表:

加载网络图片时需要应用本身具备网络访问能力。

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

网络图片仅按调用方传入地址加载,不采集用户数据。

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

无广告

暂无用户评论。