29 lines
741 B
Go
29 lines
741 B
Go
package main
|
|
|
|
func main() {
|
|
canvas := image.NewRGBA(image.Rect(0, 0, 3840, 2160))
|
|
circles := Circles(canvas.Bounds(), 2160/6)
|
|
|
|
// draw n circles
|
|
for i := 0; i < 24; i++ {
|
|
c := <-circles
|
|
|
|
draw.Draw(canvas, c.Bounds(), xor{c, canvas}, c.Bounds().Min, draw.Src)
|
|
/*
|
|
draw.DrawMask(
|
|
canvas, canvas.Bounds(), &image.Uniform{color.White},
|
|
image.Point{}, xor{c, canvas}, image.Point{}, draw.Src,
|
|
)
|
|
*/
|
|
}
|
|
/*
|
|
newCanvas := image.NewRGBA(canvas.Bounds())
|
|
draw.Draw(newCanvas, newCanvas.Bounds(), &image.Uniform{color.RGBA{255, 255, 0, 255}}, image.ZP, draw.Over)
|
|
draw.Draw(newCanvas, newCanvas.Bounds(), canvas, image.ZP, draw.Over)
|
|
*/
|
|
err := png.Encode(os.Stdout, BlackAndWhite{canvas})
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
}
|