Go에서 []byte (byte slice)를 image type으로 변경할 때 방법
image 타입으로 변경하는 이유는 그 이미지의 resize, crop 등 작업을 할 때
타입을 image 로 맞추고 변경을 해줘야 하는 부분이 있기 때문이다.
type Image interface {
// ColorModel returns the Image's color model.
ColorModel() color.Model
// Bounds returns the domain for which At can return non-zero color.
// The bounds do not necessarily contain the point (0, 0).
Bounds() Rectangle
// At returns the color of the pixel at (x, y).
// At(Bounds().Min.X, Bounds().Min.Y) returns the upper-left pixel of the grid.
// At(Bounds().Max.X-1, Bounds().Max.Y-1) returns the lower-right one.
At(x, y int) color.Color
}
먼저 byte slice 를 io.Reader로 변경해 줘야 한다.
// func bytes.NewReader(b []byte) *bytes.Reader
// NewReader returns a new Reader reading from b.
reader := bytes.NewReader(objectBytes)
그러고 나서 image로 변경하면 된다.
import "image"
// func image.Decode(r io.Reader) (image.Image, string, error)
img, _, err := image.Decode(reader)
'Language > Go' 카테고리의 다른 글
[Go] image library (image processing) (0) | 2022.09.29 |
---|---|
[Go] Convert image.NRGBA to byte slice (0) | 2022.09.28 |
[Go] JWT token decode (0) | 2022.09.21 |
[Go] Contains method for a slice (go version 1.18) (0) | 2022.09.16 |
[Go] filetype (MIME type) (0) | 2022.09.16 |