add trim option to image processing and implement trimEdges function

This commit is contained in:
Vetle Leinonen-Roeim 2025-03-28 10:11:43 +01:00
parent 572ad2db78
commit 3ff7fa8b64
3 changed files with 71 additions and 1 deletions

View file

@ -375,3 +375,22 @@ func TestTransformImage(t *testing.T) {
}
}
}
func TestTrimBordersOfSameColor(t *testing.T) {
src := newImage(4, 4,
color.NRGBA{255, 255, 255, 255}, color.NRGBA{255, 255, 255, 255}, color.NRGBA{255, 255, 255, 255}, color.NRGBA{255, 255, 255, 255},
color.NRGBA{255, 255, 255, 255}, color.NRGBA{255, 0, 0, 255}, color.NRGBA{255, 0, 0, 255}, color.NRGBA{255, 255, 255, 255},
color.NRGBA{255, 255, 255, 255}, color.NRGBA{255, 0, 0, 255}, color.NRGBA{255, 0, 0, 255}, color.NRGBA{255, 255, 255, 255},
color.NRGBA{255, 255, 255, 255}, color.NRGBA{255, 255, 255, 255}, color.NRGBA{255, 255, 255, 255}, color.NRGBA{255, 255, 255, 255},
)
want := newImage(2, 2,
color.NRGBA{255, 0, 0, 255}, color.NRGBA{255, 0, 0, 255},
color.NRGBA{255, 0, 0, 255}, color.NRGBA{255, 0, 0, 255},
)
got := trimEdges(src)
if !reflect.DeepEqual(got, want) {
t.Errorf("trimEdges() = %v, want %v", got, want)
}
}