package imageutils import ( "image" "image/color" "image/draw" "image/png" "io" "testing" "github.com/potassium5703/texture" ) func Render(img image.Image, rect image.Rectangle) image.Image { newimg := image.NewRGBA(rect) draw.Draw(newimg, rect, image.White, image.ZP, draw.Src) draw.Draw(newimg, rect, img, image.ZP, draw.Over) return newimg } func BenchmarkScale(b *testing.B) { for i := 0; i < b.N; i++ { err := png.Encode(io.Discard, Scale(Render( texture.New(color.White, color.Black, 2), image.Rect(0, 0, 64, 64), ), 64), ) if err != nil { panic(err) } } } func BenchmarkSinglePixel(b *testing.B) { instance := SinglePixel{} err := png.Encode(io.Discard, Scale(instance, b.N), ) if err != nil { panic(err) } }