random circles example

This commit is contained in:
2026-04-04 16:57:10 +03:00
parent 3880b353c1
commit 824a4ede47
13 changed files with 308 additions and 1 deletions

44
pkg/merge/merge.go Normal file
View File

@@ -0,0 +1,44 @@
package main
import (
"image"
"image/color"
_ "image/jpeg"
"image/png"
_ "image/png"
"os"
)
type Merge struct {
first, second image.Image
}
func (m Merge) ColorModel() color.Model { return m.first.ColorModel() }
func (m Merge) Bounds() image.Rectangle { return m.first.Bounds() }
func (m Merge) At(x, y int) color.Color {
if (x%2 != 0) && (y%2 != 0) {
return m.second.At(x, y)
}
return m.first.At(x, y)
}
func main() {
f1, err := os.Open(os.Args[1])
if err != nil {
panic(err)
}
f2, err := os.Open(os.Args[2])
if err != nil {
panic(err)
}
img1, _, err := image.Decode(f1)
if err != nil {
panic(err)
}
img2, _, err := image.Decode(f2)
if err != nil {
panic(err)
}
png.Encode(os.Stdout, Merge{img1, img2})
}