我正在尝试将 []byte 对象转换为图像并将其保存为 Golang 中的 jpeg。我尝试使用Decode图像功能,但它总是返回<nil>。
func saveFrames(imgByte []byte) {
img, _, _ := image.Decode(bytes.NewReader(imgByte))
out, err := os.Create("./img.jpeg")
if err != nil {
fmt.Println(err)
os.Exit(1)
}
err = jpeg.Encode(out, img)
if err != nil {
fmt.Println(err)
os.Exit(1)
}
}
Run Code Online (Sandbox Code Playgroud)
你没有传递Options,to jpeg.Encode,你也可以将它设置为 nil 。
func serveFrames(imgByte []byte) {
img, _, err := image.Decode(bytes.NewReader(imgByte))
if err != nil {
log.Fatalln(err)
}
out, _ := os.Create("./img.jpeg")
defer out.Close()
var opts jpeg.Options
opts.Quality = 1
err = jpeg.Encode(out, img, &opts)
//jpeg.Encode(out, img, nil)
if err != nil {
log.Println(err)
}
}
Run Code Online (Sandbox Code Playgroud)
如果打开了任何文件,请不要忘记关闭。
log.Fatalln(...)如果您想打印错误消息并在出现任何错误时退出,可以使用, 。
| 归档时间: |
|
| 查看次数: |
16281 次 |
| 最近记录: |