From 3276ff864a4048a05ad3f0b34953ce937be1500c Mon Sep 17 00:00:00 2001 From: Martin Lehoux Date: Sat, 4 Apr 2020 13:28:28 -0700 Subject: feat - Save frame to file --- image.go | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 image.go (limited to 'image.go') diff --git a/image.go b/image.go new file mode 100644 index 0000000..fe9b67f --- /dev/null +++ b/image.go @@ -0,0 +1,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)) + } + } +} -- cgit v1.3