Files
imageutils/pkg/dithering/8x8grid.go
2026-03-04 02:14:21 +03:00

44 lines
663 B
Go

package dithering
import (
"image"
"image/color"
)
type grid struct {
color.Gray
}
func (_ grid) ColorModel() color.Model {
return color.RGBAModel
}
func (_ grid) Bounds() image.Rectangle {
return image.Rect(0, 0, 8, 8)
}
func (g grid) At(x, y int) color.Color {
step := int(64 / (g.Gray.Y / 4))
if (y*8+x)%step == 0 {
return color.Black
}
return color.White
}
type uniformGrid struct {
image.Image
image.Rectangle
}
func (g uniformGrid) ColorModel() color.Model {
return g.Image.ColorModel()
}
func (g uniformGrid) Bounds() image.Rectangle {
return g.Rectangle
}
func (g uniformGrid) At(x, y int) color.Color {
return color.Color(nil)
}