Go Base64 Image Decode
Lorsque vous travaillez avec un canevas HTML5, il est courant d'obtenir des URL de données d'image codées en base64. Ces chaînes contiennent à la fois un préfixe de données et les données d'image codées en base64 elles-mêmes.
Problème :
Un problème couramment rencontré est l'obtention d'une erreur « Format d'image inconnu » lorsque tenter de décoder l'image codée en base64 en utilisant image.DecodeConfig().
SOLUTION
1. Enregistrer les gestionnaires de formats d'image :
La fonction image.DecodeConfig() reconnaît uniquement les formats d'image dont les gestionnaires sont enregistrés avant son exécution. Pour les images PNG, qui sont souvent rencontrées, importez le package image/png :
import _ "image/png"
En important ce package, le gestionnaire de format PNG est enregistré, permettant à image.DecodeConfig() de décoder avec succès les images PNG.
2. Supprimer le préfixe de données :
Le préfixe de données (par exemple, data:image/png;base64,) dans l'URL des données doit être supprimé avant le décodage. Un moyen plus efficace de procéder consiste à découper la chaîne d'entrée :
input := "data:image/png;base64,iVkhdfjdAjdfirtn=" b64data := input[strings.IndexByte(input, ',')+1:]
Cette opération de découpage crée un nouvel en-tête de chaîne sans copier les données, ce qui entraîne des performances améliorées.
Une fois le format Les gestionnaires sont enregistrés et le préfixe de données est supprimé, image.DecodeConfig() peut décoder avec succès l'image PNG et fournir ses informations de largeur et de hauteur.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!