gpt4 book ai didi

go - Go标准库中是否有一个函数可以将缓冲区编码为go中的任何图像格式

转载 作者:IT王子 更新时间:2023-10-29 02:05:16 26 4
gpt4 key购买 nike

我正在编写一个带有一些简单图像处理的微服务。

当我将处理后的图像发送回用户时,我必须在通过缓冲区写入之前对其进行正确编码。

我可以很容易地检测到格式,所以这不是问题。目前我使用我的格式字符串并这样做:

buffer := new(bytes.Buffer)

switch format { //format is just a string as returned by image.Decode()
case "jpeg":
err := jpeg.Encode(buffer, img, nil) //img is just an image.Image
if err != nil {
//Do some error handling
}
case "png":
err := png.Encode(buffer, img)
if err != nil {
//Do some error handling
}
//and so on...

现在一切正常,当我开始认为我一定错过了这里的某些东西时,我正要将它拆分成我自己的函数。没有image.Encode(buffer, image, format)这样的函数似乎太明显了。

编写它并不十分麻烦,但如果我开始重新实现核心语言功能,我的代码很快就会变得不必要地笨拙。

如果它不存在,因为 go 是一种非常整洁的语言,占用空间小,我对此很满意。

最佳答案

标准库不包含将图像编码为任意格式的函数。

该库没有这种功能的一个原因是每种图像格式都有不同的编码选项。例如 JPEG optionsPNG options是不同的。

关于go - Go标准库中是否有一个函数可以将缓冲区编码为go中的任何图像格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30969811/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com