From fb0d38647a225e5c1c4f210b6daaf1614eb88f6b Mon Sep 17 00:00:00 2001 From: Rose Hogenson Date: Thu, 11 Jun 2026 20:46:54 -0700 Subject: Ensure that out of bounds pixels are transparent --- sixel.go | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/sixel.go b/sixel.go index 180d28c..2fda48e 100644 --- a/sixel.go +++ b/sixel.go @@ -79,7 +79,7 @@ func Print(w io.Writer, img image.Image, p color.Palette) error { } } colors := make([]bool, 256) - for y := y0; y < y0+6; y++ { + for y := y0; y < min(y0+6, palettized.Bounds().Max.Y); y++ { for x := palettized.Bounds().Min.X; x < palettized.Bounds().Max.X; x++ { colors[palettized.ColorIndexAt(x, y)] = true } @@ -109,10 +109,9 @@ func Print(w io.Writer, img image.Image, p color.Palette) error { ) for x := palettized.Bounds().Min.X; x < palettized.Bounds().Max.X; x++ { var char byte - for j := range 6 { - y := y0 + j + for y := y0; y < min(y0+6, palettized.Bounds().Max.Y); y++ { if palettized.ColorIndexAt(x, y) == c { - char |= 1 << j + char |= 1 << (y - y0) } } char += '?' -- cgit v1.3.1