将文件保存/加载为字节缓冲区

所以我有这样一行代码:


func TestImage(){

    img, _ := imgio.Open(`input.jpg`)

    inverted := effect.Invert(img)

    f, _ := os.Create("output.jpg")

    defer f.Close()

    Encoder := imgio.JPEGEncoder(80)

    Encoder(f, inverted)

}

它所做的只是反转图像,这很简单。但是,它只能对本地文件这样做。所以,比如说,如果我在站点 A 上有一张图片需要下载、修改和上传回来,我将不得不

  • 将图像下载到本地存储

  • 加载它

  • 使用该功能进行修改

  • 保存到本地存储

  • 再次将其加载到 POST 函数以进行上传或其他内容

我想知道是否有任何方法可以在不阅读的情况下完成这样的任务来保存它并从本地存储中加载它?就像将图像保存为“假”文件一样,这是一个字节缓冲区或其他东西。


慕无忌1623718
浏览 102回答 1
1回答

跃然一笑

软件包 imgio 提供基本的图像文件输入/输出。如果您不想读取和写入文件,请不要使用此包。直接使用标准库中的镜像包。package mainimport (    "bytes"    "image"    "image/jpeg"    "github.com/anthonynsimon/bild/imgio")func TestImage() {    input := new(bytes.Buffer)    img, err := image.Decode(input)    // TODO: handle error    output := new(bytes.Buffer)    err = jpeg.Encode(output, img, &jpeg.Options{Quality: 80})}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go