imageutils/scale_test.go

46 lines
774 B
Go
Raw Normal View History

2024-08-20 10:04:11 +04:00
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(
2024-09-03 20:49:27 +04:00
texture.New(color.White,
color.Black, 2),
2024-08-20 11:07:01 +04:00
image.Rect(0, 0, 64, 64),
), 64),
2024-08-20 10:04:11 +04:00
)
if err != nil {
panic(err)
}
}
}
2024-09-03 11:01:55 +04:00
func BenchmarkSinglePixel(b *testing.B) {
instance := SinglePixel{}
2024-09-03 20:49:27 +04:00
err := png.Encode(io.Discard,
Scale(instance, b.N),
)
if err != nil {
panic(err)
}
2024-09-03 11:01:55 +04:00
}