更新记录
1.0.0(2026-07-22)
- 首次发布图片毛玻璃虚化组件。
- 支持网络图片、本地图片和 Android
file://、content://地址。 - 支持模糊强度、降采样、显示模式、圆角、叠色和触摸开关。
- 支持
load、ready、error事件以及load、reload、clear方法。
平台兼容性
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-80。0 表示关闭模糊,常用范围为 16-48。 |
downsample |
Number |
4 |
处理前的降采样倍率。数值越大性能越好、细节越少,建议使用 2-4。Android 范围为 1-8,iOS 范围为 1-6。 |
maxSize |
Number |
1600 |
Android 处理图片的最大边长,超出后会先缩小。适合大图场景;iOS 当前不使用此属性进行缩放。 |
scaleMode |
String |
"cover" |
图片显示模式:cover、contain、stretch、center。 |
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

收藏人数:
购买源码授权版(
试用
使用 HBuilderX 导入示例项目
赞赏(0)
下载 9
赞赏 0
下载 12447257
赞赏 1935
赞赏
京公网安备:11010802035340号