Kategorien, Pakete und Repositories suchen

Cover von flutter_blurhash
Paketdetailsv0.9.1

flutter_blurhash

Kompakte Darstellung eines Platzhalters für ein Bild. Kodieren Sie ein verschwommenes Bild in weniger als 30 Zeichen für sofortige Anzeige wie von Medium verwendet

AndroidiOSWebmacOSWindowsLinux
30-Tage-Downloads
278.000
Likes
1720
Pub-Punkte
160

Paket installieren

flutter pub add flutter_blurhash

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

Flutter BlurHash ist ein leichtgewichtiges Paket, das die kompakte, Echtzeit-Generierung von Platzhaltern für Bilder mithilfe der BlurHash-Codierung ermöglicht. Es kodiert eine verschwommene Version eines Bildes in einen kurzen String (unter 30 Zeichen), sodass diese sofort angezeigt werden kann, während das Bild geladen wird – ideal zur Verbesserung der wahrgenommenen Leistung in bildintensiven Apps. Der codierte Hash kann direkt als Platzhalter gerendert werden und ahmt die Farben und Struktur des Originalbildes vor dem Laden nach. Dieser Ansatz wird von Plattformen wie Medium weit verbreitet genutzt, um die Benutzererfahrung zu verbessern.

Anwendungsfälle

  • Bilder-Ladeplätzen
  • Leistungsoptimierung in medienintensiven Apps
  • Sofortige visuelle Rückmeldung während des Bildabrufs
  • Progressive Bildrendering
  • Verringern der wahrgenommenen Ladezeit
  • Offline-Bildvorschauen

Hauptmerkmale

  • Ultra-kompakte Hash-Darstellung
  • Echtzeit-Platzhaltererzeugung
  • farbenerhaltender Blur-Effekt
  • Plattformübergreifende Unterstützung
  • Einfache Integration mit Bild-Widgets
  • Niedriger Bandbreitenverbrauch

Geeignet für

  • Apps mit vielen Bildern
  • Inhaltsfeeds
  • Soziale Medien-Plattformen
  • E-Commerce-Apps
  • UIs, die glatten Laden priorisieren
  • Entwickler, die schnelle Bildplatzhalter suchen

Hinweise

  • Begrenzte Details bei sehr kurzen Hashes
  • Nicht geeignet für hochwertige Vorschauen
  • Decodierung auf Client-Seite erforderlich
  • Am besten geeignet für Low-Resolution-Platzhalter
  • Kann komplexe Texturen möglicherweise nicht genau treffen
  • Der Hash muss vorab berechnet oder serverseitig generiert werden

Original-README

Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.

Flutter Community: flutter_blurhash

pub package Twitter

flutter_blurhash

Blurhash is compact representation of a blurred image. It's often used as a placeholder while waiting for a full image to load.

This package implements the blurhash-decoding algorithm in pure Dart. It also provides the BlurHash widget that displays the blurhash and can transition into the actual image once it is loaded.

Currently, it doesn't support encoding an image into a blurhash.

Generation

A fast and easy way to get a blurhash for your image is to upload it to https://blurha.sh.

Blurhash demo

Example

Constrain your widget's render area and let BlurHash fill the pixels.

class ExampleApp extends StatelessWidget {
  const ExampleApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(title: const Text("BlurHash")),
        body: const SizedBox.expand(
          child: Center(
            child: AspectRatio(
              aspectRatio: 1.6,
              child: BlurHash(hash: "L5H2EC=PM+yV0g-mq.wG9c010J}I"),
            ),
          ),
        ),
      ),
    );
  }
}

Optimization Modes

  • None (BlurHashOptimizationMode.none): The original algorithm, provided for backward compatibility.
  • Standard (BlurHashOptimizationMode.standard): Optimized decoding with better cache locality and performance.
  • Approximation (BlurHashOptimizationMode.approximation): Fastest mode with an approximated sRGB conversion that produces slightly darker results but significantly improves performance.
class BlurHashApp extends StatelessWidget {
  const BlurHashApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) => MaterialApp(
    home: Scaffold(
      appBar: AppBar(title: const Text("BlurHash")),
      body: const SizedBox.expand(
        child: Center(
          child: AspectRatio(
            aspectRatio: 1.6,
            child: BlurHash(
              hash: "L5H2EC=PM+yV0g-mq.wG9c010J}I",
              optimizationMode: BlurHashOptimizationMode.approximation,
            ),
          ),
        ),
      ),
    ),
  );
}

Kategorien

Quell-Repository

Projekte, die dieses Paket verwenden