Base64-Bilddekodierung durchführen
Beim Arbeiten mit HTML5-Canvas ist es üblich, Base64-kodierte Bilddaten-URLs zu erhalten. Diese Zeichenfolgen enthalten sowohl ein Datenpräfix als auch die Base64-codierten Bilddaten selbst.
Problem:
Ein häufig auftretendes Problem ist die Fehlermeldung „Unbekanntes Bildformat“, wenn Es wird versucht, das Base64-codierte Bild mit zu dekodieren image.DecodeConfig().
LÖSUNG
1. Bildformat-Handler registrieren:
Die Funktion image.DecodeConfig() erkennt nur Bildformate, deren Handler vor ihrer Ausführung registriert wurden. Für häufig vorkommende PNG-Bilder importieren Sie das Paket image/png:
import _ "image/png"
Durch den Import dieses Pakets wird der PNG-Format-Handler registriert, sodass image.DecodeConfig() PNG-Bilder erfolgreich dekodieren kann.
2. Datenpräfix entfernen:
Das Datenpräfix (z. B. data:image/png;base64,) in der Daten-URL sollte vor der Dekodierung entfernt werden. Eine effizientere Möglichkeit, dies zu tun, ist das Slicing der Eingabezeichenfolge:
input := "data:image/png;base64,iVkhdfjdAjdfirtn=" b64data := input[strings.IndexByte(input, ',')+1:]
Dieser Slicing-Vorgang erstellt einen neuen String-Header, ohne die Daten zu kopieren, was zu einer verbesserten Leistung führt.
Sobald das Format Handler registriert und das Datenpräfix entfernt wird, kann image.DecodeConfig() das PNG-Bild erfolgreich dekodieren und seine Breiten- und Höheninformationen bereitstellen.
Das obige ist der detaillierte Inhalt vonWie dekodiere ich Base64-kodierte Bilder in Go richtig?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!