搜索分类、插件与代码仓

blurhash 封面
插件详情v1.2.0

blurhash

图像占位符的非常紧凑的表示形式。

AndroidiOSWeb
近 30 天下载
2950
喜欢数
79
Pub 分数
150

安装插件

flutter pub add blurhash

插件介绍

基于插件公开信息、社区数据与项目使用情况整理的选型参考。

BlurHash 是一种紧凑且高效的方式,使用简短的哈希字符串表示图像占位符。它能生成图像的低分辨率预览,可在实际图像加载前立即渲染,从而提升感知性能和用户体验。该哈希体积小,非常适合缓存和传输。BlurHash 在 Android、iOS 和 Web 平台上均适用,可确保在不同设备或环境下一致的占位符渲染效果。在加载时间明显可见的图像密集型应用中尤为有用。

适合场景

  • 图像加载占位符
  • 预加载视觉反馈
  • 减少感知加载时间
  • 离线图像预览
  • 画廊中的性能优化
  • 流媒体接口

主要特点

  • 哈希大小过小
  • 跨平台支持
  • 快速渲染
  • 低带宽使用
  • 低分辨率下的高视觉保真度
  • 与图像小部件轻松集成

适合对象

  • 图像密集型用户界面的应用程序
  • 内容流媒体平台
  • 社交媒体应用
  • 电子商务产品展示
  • 需要快速加载图像的网页和移动应用

使用建议

  • 与完整图像相比,细节有限
  • 不适合用于高保真预览
  • 需要在客户端进行解码
  • 最好用作临时占位符
  • 不适用于图像存储或共享

原始 README

以下为关联源码仓库的 README 原文快照,最新内容请访问源码仓库。

blurhash

pub package

Compact representation of a placeholder for an image.

Platform Support
Android iOS Web
✔️ ✔️ ✔️

Usage

To use this plugin, add blurhash as a dependency in your pubspec.yaml file.

Example
void blurHashEncode() async {
  ByteData bytes = await rootBundle.load("image.jpg");
  Uint8List pixels = bytes.buffer.asUint8List();
  var blurHash = await BlurHash.encode(pixels, 4, 3);
}

void blurHashDecode() async {
  Uint8List? imageDataBytes;
  try {
    imageDataBytes = await BlurHash.decode(blurhash, 20, 12);
  } on PlatformException catch (e) {
    throw Exception(e.message);
  }
}

所属分类

依赖

依赖清单 4 项

源码仓库

使用此插件的项目