diff --git a/image.go b/image.go index ce6a8e1aa..ee3c63d18 100644 --- a/image.go +++ b/image.go @@ -171,6 +171,7 @@ func (i *Image) At(x, y int) color.Color { // // This function may be slow (as for implementation, this calls glTexSubImage2D). func (i *Image) ReplacePixels(p []uint8) error { + // TODO: Can we set p to pixels? i.pixels = nil w, h := i.Size() l := 4 * w * h diff --git a/image_test.go b/image_test.go index 394e1a688..40568bb97 100644 --- a/image_test.go +++ b/image_test.go @@ -203,8 +203,23 @@ func TestReplacePixels(t *testing.T) { img0.ReplacePixels(img.Pix) for j := 0; j < img0.Bounds().Size().Y; j++ { for i := 0; i < img0.Bounds().Size().X; i++ { - got := img.At(i, j) - want := img0.At(i, j) + got := img0.At(i, j) + want := img.At(i, j) + if got != want { + t.Errorf("img0 At(%d, %d): got %#v; want %#v", i, j, got, want) + } + } + } + + p := make([]uint8, 4*size.X*size.Y) + for i, _ := range p { + p[i] = 0x80 + } + img0.ReplacePixels(p) + for j := 0; j < img0.Bounds().Size().Y; j++ { + for i := 0; i < img0.Bounds().Size().X; i++ { + got := img0.At(i, j) + want := color.RGBA{p[4*i], p[4*i+1], p[4*i+2], p[4*i+3]} if got != want { t.Errorf("img0 At(%d, %d): got %#v; want %#v", i, j, got, want) }