From 52df6074139c0038b0ac8a8537b9f0b3e987ae98 Mon Sep 17 00:00:00 2001 From: Johnny Date: Wed, 28 Jul 2021 18:34:35 +0100 Subject: [PATCH] ebitenutil: added NewImageFromReader(io.Reader) (#1735) --- ebitenutil/loadimage.go | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/ebitenutil/loadimage.go b/ebitenutil/loadimage.go index e8c86f93d..8c4751fda 100644 --- a/ebitenutil/loadimage.go +++ b/ebitenutil/loadimage.go @@ -21,6 +21,7 @@ package ebitenutil import ( "image" + "io" "github.com/hajimehoshi/ebiten/v2" ) @@ -42,7 +43,15 @@ func NewImageFromFile(path string) (*ebiten.Image, image.Image, error) { defer func() { _ = file.Close() }() - img, _, err := image.Decode(file) + return NewImageFromReader(file) +} + +// NewImageFromReader loads from the io.Reader and returns ebiten.Image and image.Image. +// +// Image decoders must be imported when using NewImageFromReader. For example, +// if you want to load a PNG image, you'd need to add `_ "image/png"` to the import section. +func NewImageFromReader(reader io.Reader) (*ebiten.Image, image.Image, error) { + img, _, err := image.Decode(reader) if err != nil { return nil, nil, err }