猿问

通过 Martini 提供解码图像

我目前正在玩 golang 和 Martini 等,并希望动态地提供一些操纵/生成的图像。这是一个最小的例子:


package main


import (

    "github.com/codegangsta/martini"

    "github.com/nfnt/resize"

    "image"

    "image/jpeg"

    "log"

    "os"

)


func thumb() image.Image {

    file, err := os.Open("test.jpg")

    if err != nil {

        log.Fatal(err)

    }


    img, err := jpeg.Decode(file)

    if err != nil {

        log.Fatal(err)

    }

    file.Close()


    m := resize.Resize(0, 200, img, resize.MitchellNetravali)


    return m

}


func main() {

    m := martini.Classic()

    m.Get("/") image.Image {

        return thumb()

    })

    m.Run()

}

编译很好,但不是提供图像,而是得到一些“Content-Type:text/plain; charset=utf-8”,如下所示:


<*image.RGBA64 Value>

我很确定我需要再次对图像进行编码然后提供它。但是我不太确定如何在不将图像保存到磁盘的情况下执行此操作...


提前致谢!


慕的地6264312
浏览 161回答 1
1回答
随时随地看视频慕课网APP

相关分类

Go
我要回答