diff --git a/transform.go b/transform.go index e7804ff..08161a3 100644 --- a/transform.go +++ b/transform.go @@ -322,10 +322,16 @@ func transformImage(m image.Image, opt Options) image.Image { func transformPrimitive(m image.Image, opt Options) *primitive.Model { // set size to the longest of height or width size := m.Bounds().Size().X + o := Options{Width: 256} if h := m.Bounds().Size().Y; size < h { size = h + o = Options{Height: 256} } + // scale image down to no larger than 256, which is all we need for the + // primitive algorithm + m = transformImage(m, o) + bg := primitive.MakeColor(primitive.AverageImageColor(m)) model := primitive.NewModel(m, bg, size, runtime.NumCPU()) for i := 0; i < opt.Primitive.Count; i++ {