我尝试使用以下代码将base64 png图像写入文件:
imageReader := base64.NewDecoder(base64.StdEncoding, strings.NewReader(Images[i]))
pngImage, _, err := image.Decode(imageReader)
if err != nil {
beego.Error(err)
}
bounds := pngImage.Bounds()
if imgFile, err = os.Create(fileName + ".png"); err != nil {
return Data{}
}
defer imgFile.Close()
_, err = imgFile.Write([]byte(pngImage))
范围还可以。最后一行的错误消息是
无法将pngImage(类型为image.Image)转换为类型[] byte
显然,因为image.Image不是byte []。但是我该如何转换呢?还是有一个更简单的版本来做到这一点。
用于png.Encode()
将编码image.Image
为文件(io.Writer
)。
最后一行应替换为:
err = png.Encode(imgFile, pngImage)
png.Encode()
将产生字节序列并将其发送到指定的字节序列io.Writer
(os.File
当然可以是),以PNG格式描述指定的图像。
还请查看此答案,其中包含将图像写入文件(PNG格式)的完整示例:
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句