blurhash_dart 1.2.1 copy "blurhash_dart: ^1.2.1" to clipboard
blurhash_dart: ^1.2.1 copied to clipboard

A pure dart implementation of the BlurHash algorithm. This package provides both an encoder and a decoder, as well as some utility extensions.

BlurHash Dart #

A pure dart implementation of BlurHash. Supports both encoding and decoding. Runs on every supported Dart platform. See the BlurHash website or GitHub repository for more information.

The encoder of this dart implementation produces slightly different hashes than the TypeScript implementation but matches the official C and Python implementation. In practice this should not be relevant.

Basic usage #

Decoding a BlurHash #

import 'package:blurhash_dart/blurhash_dart.dart';
import 'package:image/image.dart' as img;

const hash = 'LEHV6nWB2yk8pyo0adR*.7kCMdnj';
BlurHash blurHash = BlurHash.decode(hash);
img.Image image = blurHash.toImage(35, 20);

// Display image...
copied to clipboard

Note: Usage with Flutter

Flutter does not expect raw bytes for its Image.memory widget, but fully encoded images with their corresponding headers (e.g. bitmap, jpg, png). The easiest way to accomplish this, is to use, for example, encodeJpg from package:image:

Widget build(BuildContext context) {
  final image = BlurHash.decode('LEHV6nWB2yk8pyo0adR*.7kCMdnj').toImage(35, 20);
  return Image.memory(Uint8List.fromList(encodeJpg(image)));
}
copied to clipboard

It is recommended to cache the resulting image in a stateful widget, such that it does not need to be recomputed on every build call.

Encoding an Image #

import 'dart:io';

import 'package:blurhash_dart/blurhash_dart.dart';
import 'package:image/image.dart' as img;

final data = File('path/to/image.png').readAsBytesSync();
final image = img.decodeImage(data.toList());
final blurHash = BlurHash.encode(image!, numCompX: 4, numCompY: 3);

print(blurHash.hash);
copied to clipboard

Extension Methods #

Additional extension methods to compute, for example color averages, are available when importing package:blurhash_dart/blurhash_extensions.dart. See example for basic usage.

126
likes
160
points
50k
downloads

Publisher

verified publishereinval.de

Weekly Downloads

2024.09.10 - 2025.03.25

A pure dart implementation of the BlurHash algorithm. This package provides both an encoder and a decoder, as well as some utility extensions.

Repository (GitHub)

Documentation

API reference

License

MIT (license)

Dependencies

image

More

Packages that depend on blurhash_dart