diff options
Diffstat (limited to 'src/pkg/image/color/palette/gen.go')
-rw-r--r-- | src/pkg/image/color/palette/gen.go | 101 |
1 files changed, 0 insertions, 101 deletions
diff --git a/src/pkg/image/color/palette/gen.go b/src/pkg/image/color/palette/gen.go deleted file mode 100644 index 4f4d88345..000000000 --- a/src/pkg/image/color/palette/gen.go +++ /dev/null @@ -1,101 +0,0 @@ -// Copyright 2013 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// +build ignore - -package main - -// This program generates palette.go. Invoke it as -// go run gen.go | gofmt > palette.go - -import ( - "fmt" -) - -func main() { - fmt.Println(`// Copyright 2013 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file.`) - fmt.Println() - fmt.Println("// generated by go run gen.go; DO NOT EDIT") - fmt.Println() - fmt.Println("// Package palette provides standard color palettes.") - fmt.Println("package palette") - fmt.Println() - fmt.Println(`import "image/color"`) - fmt.Println() - printPlan9() - printWebSafe() -} - -func printPlan9() { - c, lines := [3]int{}, [256]string{} - for r, i := 0, 0; r != 4; r++ { - for v := 0; v != 4; v, i = v+1, i+16 { - for g, j := 0, v-r; g != 4; g++ { - for b := 0; b != 4; b, j = b+1, j+1 { - den := r - if g > den { - den = g - } - if b > den { - den = b - } - if den == 0 { - c[0] = 0x11 * v - c[1] = 0x11 * v - c[2] = 0x11 * v - } else { - num := 17 * (4*den + v) - c[0] = r * num / den - c[1] = g * num / den - c[2] = b * num / den - } - lines[i+(j&0x0f)] = - fmt.Sprintf("\tcolor.RGBA{0x%02x, 0x%02x, 0x%02x, 0xff},", c[0], c[1], c[2]) - } - } - } - } - fmt.Println("// Plan9 is a 256-color palette that partitions the 24-bit RGB space") - fmt.Println("// into 4×4×4 subdivision, with 4 shades in each subcube. Compared to the") - fmt.Println("// WebSafe, the idea is to reduce the color resolution by dicing the") - fmt.Println("// color cube into fewer cells, and to use the extra space to increase the") - fmt.Println("// intensity resolution. This results in 16 gray shades (4 gray subcubes with") - fmt.Println("// 4 samples in each), 13 shades of each primary and secondary color (3") - fmt.Println("// subcubes with 4 samples plus black) and a reasonable selection of colors") - fmt.Println("// covering the rest of the color cube. The advantage is better representation") - fmt.Println("// of continuous tones.") - fmt.Println("//") - fmt.Println("// This palette was used in the Plan 9 Operating System, described at") - fmt.Println("// http://plan9.bell-labs.com/magic/man2html/6/color") - fmt.Println("var Plan9 = []color.Color{") - for _, line := range lines { - fmt.Println(line) - } - fmt.Println("}") - fmt.Println() -} - -func printWebSafe() { - lines := [6 * 6 * 6]string{} - for r := 0; r < 6; r++ { - for g := 0; g < 6; g++ { - for b := 0; b < 6; b++ { - lines[36*r+6*g+b] = - fmt.Sprintf("\tcolor.RGBA{0x%02x, 0x%02x, 0x%02x, 0xff},", 0x33*r, 0x33*g, 0x33*b) - } - } - } - fmt.Println("// WebSafe is a 216-color palette that was popularized by early versions") - fmt.Println("// of Netscape Navigator. It is also known as the Netscape Color Cube.") - fmt.Println("//") - fmt.Println("// See http://en.wikipedia.org/wiki/Web_colors#Web-safe_colors for details.") - fmt.Println("var WebSafe = []color.Color{") - for _, line := range lines { - fmt.Println(line) - } - fmt.Println("}") - fmt.Println() -} |