| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- // Copyright (c) 2011 CZ.NIC z.s.p.o. All rights reserved.
- // Use of this source code is governed by a BSD-style
- // license that can be found in the LICENSE file.
- // blame: jnml, labs.nic.cz
- // +build ignore
- package main
- import (
- "bytes"
- "github.com/cznic/mathutil"
- "image"
- "image/png"
- "io/ioutil"
- "log"
- "math"
- "math/rand"
- )
- // $ go run example2.go # view rand.png and rnd.png by your favorite pic viewer
- //
- // see http://www.boallen.com/random-numbers.html
- func main() {
- sqr := image.Rect(0, 0, 511, 511)
- r, err := mathutil.NewFC32(math.MinInt32, math.MaxInt32, true)
- if err != nil {
- log.Fatal("NewFC32", err)
- }
- img := image.NewGray(sqr)
- for y := 0; y < 512; y++ {
- for x := 0; x < 512; x++ {
- if r.Next()&1 != 0 {
- img.Set(x, y, image.White)
- }
- }
- }
- buf := bytes.NewBuffer(nil)
- if err := png.Encode(buf, img); err != nil {
- log.Fatal("Encode rnd.png ", err)
- }
- if err := ioutil.WriteFile("rnd.png", buf.Bytes(), 0666); err != nil {
- log.Fatal("ioutil.WriteFile/rnd.png ", err)
- }
- r2 := rand.New(rand.NewSource(0))
- img = image.NewGray(sqr)
- for y := 0; y < 512; y++ {
- for x := 0; x < 512; x++ {
- if r2.Int()&1 != 0 {
- img.Set(x, y, image.White)
- }
- }
- }
- buf = bytes.NewBuffer(nil)
- if err := png.Encode(buf, img); err != nil {
- log.Fatal("Encode rand.png ", err)
- }
- if err := ioutil.WriteFile("rand.png", buf.Bytes(), 0666); err != nil {
- log.Fatal("ioutil.WriteFile/rand.png ", err)
- }
- }
|