Go で Base64 エンコードされた画像をデコードする
キャンバスを操作する場合、base64 画像データの URL を取得できます。ただし、image.DecodeConfig() を使用してこの画像をデコードしようとすると、「不明な画像形式」というエラーが発生することがあります。
この問題は、データ URL に Base64 でエンコードされた画像データ以外の追加情報が含まれているために発生します。画像を正しくデコードするには、次のプレフィックスを削除する必要があります:
// Remove the data URL prefix input := strings.Replace(req.PostFormValue("dataurl"), "data:image/png;base64,", "", 1)
さらに、image.DecodeConfig() を呼び出す前に PNG 画像形式ハンドラーを登録する必要があります。これは、
import _ "image/png"
を使用して実現できます。また、正確な画像形式がわかっている場合は、png.DecodeConfig() を直接使用することもできます。
例:
import _ "image/png" reader := base64.NewDecoder(base64.StdEncoding, strings.NewReader(input)) imageConfig, _, err := image.DecodeConfig(reader) if err != nil { log.Fatal(err) }
これらの手順に従うことで、base64 でエンコードされた画像を正常にデコードし、その幅と画像を取得できます。身長。
以上がGo で Base64 でエンコードされた画像を適切にデコードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。