Save/Load 文件作为字节缓冲区

Save/Load file as byte buffer

所以我有这样一行代码:

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 上有一张图片需要下载、修改并上传回来,我将不得不

我想知道是否有办法在不读取保存并从本地存储加载的情况下完成这样的任务?比如将图像保存为“假”文件,即字节缓冲区或其他东西。

Package imgio provides basic image file input/output.

如果您不想读取和写入文件,请不要使用此包。直接使用标准库中的镜像包。

package main

import (
    "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})
}