...
1 package main
2
3 import "fmt"
4 import "github.com/lucasb-eyer/go-colorful"
5 import "image"
6 import "image/draw"
7 import "image/png"
8 import "math/rand"
9 import "os"
10 import "time"
11
12 func main() {
13 blocks := 10
14 blockw := 40
15 space := 5
16
17 rand.Seed(time.Now().UTC().UnixNano())
18 img := image.NewRGBA(image.Rect(0, 0, blocks*blockw+space*(blocks-1), 4*(blockw+space)))
19
20 for i := 0; i < blocks; i++ {
21 warm := colorful.WarmColor()
22 fwarm := colorful.FastWarmColor()
23 happy := colorful.HappyColor()
24 fhappy := colorful.FastHappyColor()
25 draw.Draw(img, image.Rect(i*(blockw+space), 0, i*(blockw+space)+blockw, blockw), &image.Uniform{warm}, image.Point{}, draw.Src)
26 draw.Draw(img, image.Rect(i*(blockw+space), blockw+space, i*(blockw+space)+blockw, 2*blockw+space), &image.Uniform{fwarm}, image.Point{}, draw.Src)
27 draw.Draw(img, image.Rect(i*(blockw+space), 2*blockw+3*space, i*(blockw+space)+blockw, 3*blockw+3*space), &image.Uniform{happy}, image.Point{}, draw.Src)
28 draw.Draw(img, image.Rect(i*(blockw+space), 3*blockw+4*space, i*(blockw+space)+blockw, 4*blockw+4*space), &image.Uniform{fhappy}, image.Point{}, draw.Src)
29 }
30
31 toimg, err := os.Create("colorgens.png")
32 if err != nil {
33 fmt.Printf("Error: %v", err)
34 return
35 }
36 defer toimg.Close()
37
38 png.Encode(toimg, img)
39 }
40
View as plain text