如何将 []byte 对象隐藏到图像中,并将其作为 jpeg 图像存储在磁盘上



我正在尝试将 []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)
}
}

你不是在传递Optionsjpeg.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)
}
}

如果打开,请不要忘记关闭任何文件。

如果要打印错误消息并在出现任何错误时退出,可以使用log.Fatalln(...)

猜这是你真正想要的:

err = ioutil.WriteFile(path, bt, 0644)

相关内容

  • 没有找到相关文章

最新更新