Zum Inhalt springen

BlurHash / ThumbHash erzeugen

BlurHash / ThumbHash

Kodiert ein Bild in eine kurze BlurHash- oder ThumbHash-Zeichenkette, die als Lade-Platzhalter dient.

Ein BlurHash sind gut zwanzig Zeichen, die sich in eine unscharfe Version eines Bildes dekodieren – kurz genug, um in einer Datenbankspalte neben der URL zu liegen und im selben JSON zu reisen, damit das Layout etwas Erkennbares zeigen kann, bevor das Foto ankommt.

🔒 Läuft vollständig in Ihrem Browserblurhashplaceholderwebperformance
Füllung
Platzhalter mit 1200 mal 630

SVG-Data-URI

580 Byte

Prozentkodiert statt base64: rund 25 % kleiner, und noch lesbar. Fügen Sie es direkt ein in background-image: url("…")

So funktioniert es

  1. Legen Sie ein Bild ab oder fügen Sie einen Hash ein

    Beide Richtungen funktionieren im selben Feld: Ein Bild gibt Ihnen einen Hash, ein Hash gibt Ihnen die dekodierte Vorschau.

  2. Wählen Sie die Komponentenzahlen

    Ein Hash hat 4 + 2·x·y Zeichen, 4×3 sind also 28. Mehr Komponenten bedeuten mehr Detail und eine längere Zeichenkette; vier mal drei ist die übliche Voreinstellung.

  3. Verwenden Sie Punch bei einem flauen Foto

    Es skaliert die Variation, ohne die Durchschnittsfarbe zu verschieben, was ein kontrastarmes Bild rettet, das sonst zu einem flachen Rechteck dekodieren würde.

Häufige Fragen

Warum wird die Quelle zuerst auf 32 px verkleinert?

Weil alles über dieser Frequenz von der Transformation ohnehin verworfen wird. In voller Auflösung zu kodieren gibt hundert Millionen Basisauswertungen aus, um dieselben 28 Zeichen zu erzeugen.

Ich brauche nur eine Durchschnittsfarbe.

Dann nehmen Sie die ersten sechs Zeichen des Hashs – genau die kodieren sie, sodass eine Seite, die nur eine Hintergrundfarbe braucht, nichts dekodieren muss.

BlurHash oder ThumbHash?

BlurHash ist das mit Bibliotheken überall und das, was diese Seite ausgibt. ThumbHash ist bei gleicher Qualität kürzer und trägt Alpha, aber Sie brauchen so oder so einen Decoder auf dem Client – nehmen Sie das, was Ihr Stack schon hat.

Eingabe aus

Danach

Diese Tools nehmen an, was dieses hier erzeugt, das Ergebnis kann also direkt weiter.