aboutsummaryrefslogtreecommitdiff
path: root/image.go
blob: fe9b67f24de86af9620496fdafeaf1bfb7baab5f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

package main

import (
	"fmt"
	"os"
)

type Pixel struct {
	r, g, b int
}

type Frame [HEIGHT][WIDTH]Pixel

func (frame Frame) Save(filename string) {
	f, err := os.Create(filename)
	if err != nil {
		panic(nil)
	}
	defer f.Close()
	f.WriteString(fmt.Sprintf("P3\n%d %d\n255\n", WIDTH, HEIGHT))
	for _, row := range frame {
		for _, pixel := range row {
			f.WriteString(fmt.Sprintf("%d %d %d ", pixel.r, pixel.g, pixel.b))
		}
	}
}