├── .editorconfig ├── .github └── workflows │ └── go.yml ├── .gitignore ├── LICENSE ├── README.md ├── colormap.go ├── example └── example1.go ├── go.mod ├── images ├── julia1.png ├── julia2.png ├── julia3.png └── julia4.png └── julia.go /.editorconfig: -------------------------------------------------------------------------------- 1 | [{Makefile,go.mod,go.sum,*.go,.gitmodules}] 2 | indent_style = tab 3 | indent_size = 4 4 | 5 | [*.md] 6 | indent_size = 4 7 | trim_trailing_whitespace = false -------------------------------------------------------------------------------- /.github/workflows/go.yml: -------------------------------------------------------------------------------- 1 | name: Go 2 | 3 | on: 4 | push: 5 | branches: [ master ] 6 | pull_request: 7 | branches: [ master ] 8 | 9 | jobs: 10 | 11 | build: 12 | runs-on: ubuntu-latest 13 | steps: 14 | - uses: actions/checkout@v2 15 | 16 | - name: Set up Go 17 | uses: actions/setup-go@v2 18 | with: 19 | go-version: 1.15 20 | 21 | - name: Build 22 | run: go build -v ./... 23 | 24 | - name: Test 25 | run: go test -v ./... 26 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Binaries for programs and plugins 2 | *.exe 3 | *.exe~ 4 | *.dll 5 | *.so 6 | *.dylib 7 | 8 | # Test binary, built with `go test -c` 9 | *.test 10 | 11 | # Output of the go coverage tool, specifically when used with LiteIDE 12 | *.out 13 | 14 | # Dependency directories (remove the comment below to include it) 15 | # vendor/ 16 | 17 | .idea 18 | .vscode 19 | .DS_Store 20 | 21 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 jdxyw 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # julia 2 | Generative Julia Set Image in Go 3 | 4 | [![Go](https://github.com/jdxyw/julia/actions/workflows/go.yml/badge.svg)](https://github.com/jdxyw/julia/actions/workflows/go.yml) 5 | [![Go Report Card](https://goreportcard.com/badge/github.com/jdxyw/julia)](https://goreportcard.com/report/github.com/jdxyw/julia) 6 | [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/jdxyw/julia/master/LICENSE) 7 | 8 | In general terms, a `Julia set` is the boundary between points in the complex number plane or the Riemann sphere (the complex number plane plus the point at infinity) that diverge to infinity and those that remain finite under repeated iteration of some mapping (function). The most famous example is the Mandelbrot set. 9 | 10 | For us, we don't need to care about those math theory behind us. We are interested in the complex structure and the wonderful shape that it presents. Actually, it's also called generative art. How to color a julia set is also a interesting field. 11 | 12 | This package provides simple interface to define a `Julia set` with customize functuon, color map and save it to local with different format. 13 | 14 | ## Install 15 | 16 | ```bash 17 | go get github.com/jdxyw/julia 18 | ``` 19 | 20 | ## Colormap 21 | 22 | A carefully chosen color map could make the image more attractive. In this version, the package provides some predefined color map. These color maps have the some name with those named color map in `matplotlib`. 23 | 24 | ## Usage and example 25 | 26 | ### Example 1 27 | In this example, we generative a `Julia Set` with $z=z^{2}+C$ and `Plasma` color map, $C=-0.1+0.65i$. 28 | 29 | ```go 30 | package main 31 | 32 | import ( 33 | "github.com/jdxyw/julia" 34 | ) 35 | 36 | func julia1(z complex128) complex128 { 37 | c := complex(-0.1, 0.65) 38 | 39 | z = z*z + c 40 | 41 | return z 42 | } 43 | 44 | func main() { 45 | j := julia.NewJulia(800, 800, 1.5, 1.5, 1000, 10, julia1) 46 | j.Generative(julia.Plasma) 47 | j.ToPng("julia.png") 48 | } 49 | ``` 50 | 51 | ![](images/julia1.png) 52 | 53 | ### Example 2 54 | In this example, we generative a `Julia Set` with $z=z^{3}+C$ and `Magma` color map, , $C=-0.1+0.65i$ 55 | 56 | ```go 57 | package main 58 | 59 | import ( 60 | "github.com/jdxyw/julia" 61 | ) 62 | 63 | func julia1(z complex128) complex128 { 64 | c := complex(-0.1, 0.65) 65 | 66 | z = z*z+z + c 67 | 68 | return z 69 | } 70 | 71 | func main() { 72 | j := julia.NewJulia(500, 500, 1.5, 1.5, 60, 10, julia1) 73 | j.Generative(julia.Magma) 74 | j.ToPng("julia.png") 75 | } 76 | ``` 77 | 78 | ![](images/julia2.png) 79 | 80 | ### Example 3 81 | In this example, we generative a `Julia Set` with $z=z^{2}+C$ and `Viridis` color map, , $C=-0.75+0.11i$ 82 | 83 | ```go 84 | package main 85 | 86 | import ( 87 | "github.com/jdxyw/julia" 88 | ) 89 | 90 | func julia1(z complex128) complex128 { 91 | c := complex(-0.75, 0.11) 92 | 93 | z = z*z + c 94 | 95 | return z 96 | } 97 | 98 | func main() { 99 | j := julia.NewJulia(800, 800, 1.5, 1.5, 100, 50, julia1) 100 | j.Generative(julia.Viridis) 101 | j.ToPng("julia3.png") 102 | } 103 | 104 | ``` 105 | ![](images/julia3.png) 106 | 107 | ### Example 4 108 | In this example, we generative a `Julia Set` with $z=z^{2}+C$ and `Inferno` color map, , $C=-0.1+0.65i$ 109 | 110 | ```go 111 | package main 112 | 113 | import ( 114 | "github.com/jdxyw/julia" 115 | ) 116 | 117 | func julia1(z complex128) complex128 { 118 | c := complex(-0.1, 0.651) 119 | 120 | z = z*z + c 121 | 122 | return z 123 | } 124 | 125 | func main() { 126 | j := julia.NewJulia(800, 800, 1.5, 1.5, 800, 40, julia1) 127 | j.Generative(julia.Inferno) 128 | j.ToPng("julia4.png") 129 | } 130 | ``` 131 | ![](images/julia4.png) -------------------------------------------------------------------------------- /colormap.go: -------------------------------------------------------------------------------- 1 | package julia 2 | 3 | import "image/color" 4 | 5 | type ColorMap []color.Color 6 | 7 | // Plasma is a colormap 8 | var Plasma = ColorMap{ 9 | color.RGBA{0x0c, 0x07, 0x86, 0xff}, 10 | color.RGBA{0x10, 0x07, 0x87, 0xff}, 11 | color.RGBA{0x13, 0x06, 0x89, 0xff}, 12 | color.RGBA{0x15, 0x06, 0x8a, 0xff}, 13 | color.RGBA{0x18, 0x06, 0x8b, 0xff}, 14 | color.RGBA{0x1b, 0x06, 0x8c, 0xff}, 15 | color.RGBA{0x1d, 0x06, 0x8d, 0xff}, 16 | color.RGBA{0x1f, 0x05, 0x8e, 0xff}, 17 | color.RGBA{0x21, 0x05, 0x8f, 0xff}, 18 | color.RGBA{0x23, 0x05, 0x90, 0xff}, 19 | color.RGBA{0x25, 0x05, 0x91, 0xff}, 20 | color.RGBA{0x27, 0x05, 0x92, 0xff}, 21 | color.RGBA{0x29, 0x05, 0x93, 0xff}, 22 | color.RGBA{0x2b, 0x05, 0x94, 0xff}, 23 | color.RGBA{0x2d, 0x04, 0x94, 0xff}, 24 | color.RGBA{0x2f, 0x04, 0x95, 0xff}, 25 | color.RGBA{0x31, 0x04, 0x96, 0xff}, 26 | color.RGBA{0x33, 0x04, 0x97, 0xff}, 27 | color.RGBA{0x34, 0x04, 0x98, 0xff}, 28 | color.RGBA{0x36, 0x04, 0x98, 0xff}, 29 | color.RGBA{0x38, 0x04, 0x99, 0xff}, 30 | color.RGBA{0x3a, 0x04, 0x9a, 0xff}, 31 | color.RGBA{0x3b, 0x03, 0x9a, 0xff}, 32 | color.RGBA{0x3d, 0x03, 0x9b, 0xff}, 33 | color.RGBA{0x3f, 0x03, 0x9c, 0xff}, 34 | color.RGBA{0x40, 0x03, 0x9c, 0xff}, 35 | color.RGBA{0x42, 0x03, 0x9d, 0xff}, 36 | color.RGBA{0x44, 0x03, 0x9e, 0xff}, 37 | color.RGBA{0x45, 0x03, 0x9e, 0xff}, 38 | color.RGBA{0x47, 0x02, 0x9f, 0xff}, 39 | color.RGBA{0x49, 0x02, 0x9f, 0xff}, 40 | color.RGBA{0x4a, 0x02, 0xa0, 0xff}, 41 | color.RGBA{0x4c, 0x02, 0xa1, 0xff}, 42 | color.RGBA{0x4e, 0x02, 0xa1, 0xff}, 43 | color.RGBA{0x4f, 0x02, 0xa2, 0xff}, 44 | color.RGBA{0x51, 0x01, 0xa2, 0xff}, 45 | color.RGBA{0x52, 0x01, 0xa3, 0xff}, 46 | color.RGBA{0x54, 0x01, 0xa3, 0xff}, 47 | color.RGBA{0x56, 0x01, 0xa3, 0xff}, 48 | color.RGBA{0x57, 0x01, 0xa4, 0xff}, 49 | color.RGBA{0x59, 0x01, 0xa4, 0xff}, 50 | color.RGBA{0x5a, 0x00, 0xa5, 0xff}, 51 | color.RGBA{0x5c, 0x00, 0xa5, 0xff}, 52 | color.RGBA{0x5e, 0x00, 0xa5, 0xff}, 53 | color.RGBA{0x5f, 0x00, 0xa6, 0xff}, 54 | color.RGBA{0x61, 0x00, 0xa6, 0xff}, 55 | color.RGBA{0x62, 0x00, 0xa6, 0xff}, 56 | color.RGBA{0x64, 0x00, 0xa7, 0xff}, 57 | color.RGBA{0x65, 0x00, 0xa7, 0xff}, 58 | color.RGBA{0x67, 0x00, 0xa7, 0xff}, 59 | color.RGBA{0x68, 0x00, 0xa7, 0xff}, 60 | color.RGBA{0x6a, 0x00, 0xa7, 0xff}, 61 | color.RGBA{0x6c, 0x00, 0xa8, 0xff}, 62 | color.RGBA{0x6d, 0x00, 0xa8, 0xff}, 63 | color.RGBA{0x6f, 0x00, 0xa8, 0xff}, 64 | color.RGBA{0x70, 0x00, 0xa8, 0xff}, 65 | color.RGBA{0x72, 0x00, 0xa8, 0xff}, 66 | color.RGBA{0x73, 0x00, 0xa8, 0xff}, 67 | color.RGBA{0x75, 0x00, 0xa8, 0xff}, 68 | color.RGBA{0x76, 0x01, 0xa8, 0xff}, 69 | color.RGBA{0x78, 0x01, 0xa8, 0xff}, 70 | color.RGBA{0x79, 0x01, 0xa8, 0xff}, 71 | color.RGBA{0x7b, 0x02, 0xa8, 0xff}, 72 | color.RGBA{0x7c, 0x02, 0xa7, 0xff}, 73 | color.RGBA{0x7e, 0x03, 0xa7, 0xff}, 74 | color.RGBA{0x7f, 0x03, 0xa7, 0xff}, 75 | color.RGBA{0x81, 0x04, 0xa7, 0xff}, 76 | color.RGBA{0x82, 0x04, 0xa7, 0xff}, 77 | color.RGBA{0x84, 0x05, 0xa6, 0xff}, 78 | color.RGBA{0x85, 0x06, 0xa6, 0xff}, 79 | color.RGBA{0x86, 0x07, 0xa6, 0xff}, 80 | color.RGBA{0x88, 0x07, 0xa5, 0xff}, 81 | color.RGBA{0x89, 0x08, 0xa5, 0xff}, 82 | color.RGBA{0x8b, 0x09, 0xa4, 0xff}, 83 | color.RGBA{0x8c, 0x0a, 0xa4, 0xff}, 84 | color.RGBA{0x8e, 0x0c, 0xa4, 0xff}, 85 | color.RGBA{0x8f, 0x0d, 0xa3, 0xff}, 86 | color.RGBA{0x90, 0x0e, 0xa3, 0xff}, 87 | color.RGBA{0x92, 0x0f, 0xa2, 0xff}, 88 | color.RGBA{0x93, 0x10, 0xa1, 0xff}, 89 | color.RGBA{0x95, 0x11, 0xa1, 0xff}, 90 | color.RGBA{0x96, 0x12, 0xa0, 0xff}, 91 | color.RGBA{0x97, 0x13, 0xa0, 0xff}, 92 | color.RGBA{0x99, 0x14, 0x9f, 0xff}, 93 | color.RGBA{0x9a, 0x15, 0x9e, 0xff}, 94 | color.RGBA{0x9b, 0x17, 0x9e, 0xff}, 95 | color.RGBA{0x9d, 0x18, 0x9d, 0xff}, 96 | color.RGBA{0x9e, 0x19, 0x9c, 0xff}, 97 | color.RGBA{0x9f, 0x1a, 0x9b, 0xff}, 98 | color.RGBA{0xa0, 0x1b, 0x9b, 0xff}, 99 | color.RGBA{0xa2, 0x1c, 0x9a, 0xff}, 100 | color.RGBA{0xa3, 0x1d, 0x99, 0xff}, 101 | color.RGBA{0xa4, 0x1e, 0x98, 0xff}, 102 | color.RGBA{0xa5, 0x1f, 0x97, 0xff}, 103 | color.RGBA{0xa7, 0x21, 0x97, 0xff}, 104 | color.RGBA{0xa8, 0x22, 0x96, 0xff}, 105 | color.RGBA{0xa9, 0x23, 0x95, 0xff}, 106 | color.RGBA{0xaa, 0x24, 0x94, 0xff}, 107 | color.RGBA{0xac, 0x25, 0x93, 0xff}, 108 | color.RGBA{0xad, 0x26, 0x92, 0xff}, 109 | color.RGBA{0xae, 0x27, 0x91, 0xff}, 110 | color.RGBA{0xaf, 0x28, 0x90, 0xff}, 111 | color.RGBA{0xb0, 0x2a, 0x8f, 0xff}, 112 | color.RGBA{0xb1, 0x2b, 0x8f, 0xff}, 113 | color.RGBA{0xb2, 0x2c, 0x8e, 0xff}, 114 | color.RGBA{0xb4, 0x2d, 0x8d, 0xff}, 115 | color.RGBA{0xb5, 0x2e, 0x8c, 0xff}, 116 | color.RGBA{0xb6, 0x2f, 0x8b, 0xff}, 117 | color.RGBA{0xb7, 0x30, 0x8a, 0xff}, 118 | color.RGBA{0xb8, 0x32, 0x89, 0xff}, 119 | color.RGBA{0xb9, 0x33, 0x88, 0xff}, 120 | color.RGBA{0xba, 0x34, 0x87, 0xff}, 121 | color.RGBA{0xbb, 0x35, 0x86, 0xff}, 122 | color.RGBA{0xbc, 0x36, 0x85, 0xff}, 123 | color.RGBA{0xbd, 0x37, 0x84, 0xff}, 124 | color.RGBA{0xbe, 0x38, 0x83, 0xff}, 125 | color.RGBA{0xbf, 0x39, 0x82, 0xff}, 126 | color.RGBA{0xc0, 0x3b, 0x81, 0xff}, 127 | color.RGBA{0xc1, 0x3c, 0x80, 0xff}, 128 | color.RGBA{0xc2, 0x3d, 0x80, 0xff}, 129 | color.RGBA{0xc3, 0x3e, 0x7f, 0xff}, 130 | color.RGBA{0xc4, 0x3f, 0x7e, 0xff}, 131 | color.RGBA{0xc5, 0x40, 0x7d, 0xff}, 132 | color.RGBA{0xc6, 0x41, 0x7c, 0xff}, 133 | color.RGBA{0xc7, 0x42, 0x7b, 0xff}, 134 | color.RGBA{0xc8, 0x44, 0x7a, 0xff}, 135 | color.RGBA{0xc9, 0x45, 0x79, 0xff}, 136 | color.RGBA{0xca, 0x46, 0x78, 0xff}, 137 | color.RGBA{0xcb, 0x47, 0x77, 0xff}, 138 | color.RGBA{0xcc, 0x48, 0x76, 0xff}, 139 | color.RGBA{0xcd, 0x49, 0x75, 0xff}, 140 | color.RGBA{0xce, 0x4a, 0x75, 0xff}, 141 | color.RGBA{0xcf, 0x4b, 0x74, 0xff}, 142 | color.RGBA{0xd0, 0x4d, 0x73, 0xff}, 143 | color.RGBA{0xd1, 0x4e, 0x72, 0xff}, 144 | color.RGBA{0xd1, 0x4f, 0x71, 0xff}, 145 | color.RGBA{0xd2, 0x50, 0x70, 0xff}, 146 | color.RGBA{0xd3, 0x51, 0x6f, 0xff}, 147 | color.RGBA{0xd4, 0x52, 0x6e, 0xff}, 148 | color.RGBA{0xd5, 0x53, 0x6d, 0xff}, 149 | color.RGBA{0xd6, 0x55, 0x6d, 0xff}, 150 | color.RGBA{0xd7, 0x56, 0x6c, 0xff}, 151 | color.RGBA{0xd7, 0x57, 0x6b, 0xff}, 152 | color.RGBA{0xd8, 0x58, 0x6a, 0xff}, 153 | color.RGBA{0xd9, 0x59, 0x69, 0xff}, 154 | color.RGBA{0xda, 0x5a, 0x68, 0xff}, 155 | color.RGBA{0xdb, 0x5b, 0x67, 0xff}, 156 | color.RGBA{0xdc, 0x5d, 0x66, 0xff}, 157 | color.RGBA{0xdc, 0x5e, 0x66, 0xff}, 158 | color.RGBA{0xdd, 0x5f, 0x65, 0xff}, 159 | color.RGBA{0xde, 0x60, 0x64, 0xff}, 160 | color.RGBA{0xdf, 0x61, 0x63, 0xff}, 161 | color.RGBA{0xdf, 0x62, 0x62, 0xff}, 162 | color.RGBA{0xe0, 0x64, 0x61, 0xff}, 163 | color.RGBA{0xe1, 0x65, 0x60, 0xff}, 164 | color.RGBA{0xe2, 0x66, 0x60, 0xff}, 165 | color.RGBA{0xe3, 0x67, 0x5f, 0xff}, 166 | color.RGBA{0xe3, 0x68, 0x5e, 0xff}, 167 | color.RGBA{0xe4, 0x6a, 0x5d, 0xff}, 168 | color.RGBA{0xe5, 0x6b, 0x5c, 0xff}, 169 | color.RGBA{0xe5, 0x6c, 0x5b, 0xff}, 170 | color.RGBA{0xe6, 0x6d, 0x5a, 0xff}, 171 | color.RGBA{0xe7, 0x6e, 0x5a, 0xff}, 172 | color.RGBA{0xe8, 0x70, 0x59, 0xff}, 173 | color.RGBA{0xe8, 0x71, 0x58, 0xff}, 174 | color.RGBA{0xe9, 0x72, 0x57, 0xff}, 175 | color.RGBA{0xea, 0x73, 0x56, 0xff}, 176 | color.RGBA{0xea, 0x74, 0x55, 0xff}, 177 | color.RGBA{0xeb, 0x76, 0x54, 0xff}, 178 | color.RGBA{0xec, 0x77, 0x54, 0xff}, 179 | color.RGBA{0xec, 0x78, 0x53, 0xff}, 180 | color.RGBA{0xed, 0x79, 0x52, 0xff}, 181 | color.RGBA{0xed, 0x7b, 0x51, 0xff}, 182 | color.RGBA{0xee, 0x7c, 0x50, 0xff}, 183 | color.RGBA{0xef, 0x7d, 0x4f, 0xff}, 184 | color.RGBA{0xef, 0x7e, 0x4e, 0xff}, 185 | color.RGBA{0xf0, 0x80, 0x4d, 0xff}, 186 | color.RGBA{0xf0, 0x81, 0x4d, 0xff}, 187 | color.RGBA{0xf1, 0x82, 0x4c, 0xff}, 188 | color.RGBA{0xf2, 0x84, 0x4b, 0xff}, 189 | color.RGBA{0xf2, 0x85, 0x4a, 0xff}, 190 | color.RGBA{0xf3, 0x86, 0x49, 0xff}, 191 | color.RGBA{0xf3, 0x87, 0x48, 0xff}, 192 | color.RGBA{0xf4, 0x89, 0x47, 0xff}, 193 | color.RGBA{0xf4, 0x8a, 0x47, 0xff}, 194 | color.RGBA{0xf5, 0x8b, 0x46, 0xff}, 195 | color.RGBA{0xf5, 0x8d, 0x45, 0xff}, 196 | color.RGBA{0xf6, 0x8e, 0x44, 0xff}, 197 | color.RGBA{0xf6, 0x8f, 0x43, 0xff}, 198 | color.RGBA{0xf6, 0x91, 0x42, 0xff}, 199 | color.RGBA{0xf7, 0x92, 0x41, 0xff}, 200 | color.RGBA{0xf7, 0x93, 0x41, 0xff}, 201 | color.RGBA{0xf8, 0x95, 0x40, 0xff}, 202 | color.RGBA{0xf8, 0x96, 0x3f, 0xff}, 203 | color.RGBA{0xf8, 0x98, 0x3e, 0xff}, 204 | color.RGBA{0xf9, 0x99, 0x3d, 0xff}, 205 | color.RGBA{0xf9, 0x9a, 0x3c, 0xff}, 206 | color.RGBA{0xfa, 0x9c, 0x3b, 0xff}, 207 | color.RGBA{0xfa, 0x9d, 0x3a, 0xff}, 208 | color.RGBA{0xfa, 0x9f, 0x3a, 0xff}, 209 | color.RGBA{0xfa, 0xa0, 0x39, 0xff}, 210 | color.RGBA{0xfb, 0xa2, 0x38, 0xff}, 211 | color.RGBA{0xfb, 0xa3, 0x37, 0xff}, 212 | color.RGBA{0xfb, 0xa4, 0x36, 0xff}, 213 | color.RGBA{0xfc, 0xa6, 0x35, 0xff}, 214 | color.RGBA{0xfc, 0xa7, 0x35, 0xff}, 215 | color.RGBA{0xfc, 0xa9, 0x34, 0xff}, 216 | color.RGBA{0xfc, 0xaa, 0x33, 0xff}, 217 | color.RGBA{0xfc, 0xac, 0x32, 0xff}, 218 | color.RGBA{0xfc, 0xad, 0x31, 0xff}, 219 | color.RGBA{0xfd, 0xaf, 0x31, 0xff}, 220 | color.RGBA{0xfd, 0xb0, 0x30, 0xff}, 221 | color.RGBA{0xfd, 0xb2, 0x2f, 0xff}, 222 | color.RGBA{0xfd, 0xb3, 0x2e, 0xff}, 223 | color.RGBA{0xfd, 0xb5, 0x2d, 0xff}, 224 | color.RGBA{0xfd, 0xb6, 0x2d, 0xff}, 225 | color.RGBA{0xfd, 0xb8, 0x2c, 0xff}, 226 | color.RGBA{0xfd, 0xb9, 0x2b, 0xff}, 227 | color.RGBA{0xfd, 0xbb, 0x2b, 0xff}, 228 | color.RGBA{0xfd, 0xbc, 0x2a, 0xff}, 229 | color.RGBA{0xfd, 0xbe, 0x29, 0xff}, 230 | color.RGBA{0xfd, 0xc0, 0x29, 0xff}, 231 | color.RGBA{0xfd, 0xc1, 0x28, 0xff}, 232 | color.RGBA{0xfd, 0xc3, 0x28, 0xff}, 233 | color.RGBA{0xfd, 0xc4, 0x27, 0xff}, 234 | color.RGBA{0xfd, 0xc6, 0x26, 0xff}, 235 | color.RGBA{0xfc, 0xc7, 0x26, 0xff}, 236 | color.RGBA{0xfc, 0xc9, 0x26, 0xff}, 237 | color.RGBA{0xfc, 0xcb, 0x25, 0xff}, 238 | color.RGBA{0xfc, 0xcc, 0x25, 0xff}, 239 | color.RGBA{0xfc, 0xce, 0x25, 0xff}, 240 | color.RGBA{0xfb, 0xd0, 0x24, 0xff}, 241 | color.RGBA{0xfb, 0xd1, 0x24, 0xff}, 242 | color.RGBA{0xfb, 0xd3, 0x24, 0xff}, 243 | color.RGBA{0xfa, 0xd5, 0x24, 0xff}, 244 | color.RGBA{0xfa, 0xd6, 0x24, 0xff}, 245 | color.RGBA{0xfa, 0xd8, 0x24, 0xff}, 246 | color.RGBA{0xf9, 0xd9, 0x24, 0xff}, 247 | color.RGBA{0xf9, 0xdb, 0x24, 0xff}, 248 | color.RGBA{0xf8, 0xdd, 0x24, 0xff}, 249 | color.RGBA{0xf8, 0xdf, 0x24, 0xff}, 250 | color.RGBA{0xf7, 0xe0, 0x24, 0xff}, 251 | color.RGBA{0xf7, 0xe2, 0x25, 0xff}, 252 | color.RGBA{0xf6, 0xe4, 0x25, 0xff}, 253 | color.RGBA{0xf6, 0xe5, 0x25, 0xff}, 254 | color.RGBA{0xf5, 0xe7, 0x26, 0xff}, 255 | color.RGBA{0xf5, 0xe9, 0x26, 0xff}, 256 | color.RGBA{0xf4, 0xea, 0x26, 0xff}, 257 | color.RGBA{0xf3, 0xec, 0x26, 0xff}, 258 | color.RGBA{0xf3, 0xee, 0x26, 0xff}, 259 | color.RGBA{0xf2, 0xf0, 0x26, 0xff}, 260 | color.RGBA{0xf2, 0xf1, 0x26, 0xff}, 261 | color.RGBA{0xf1, 0xf3, 0x26, 0xff}, 262 | color.RGBA{0xf0, 0xf5, 0x25, 0xff}, 263 | color.RGBA{0xf0, 0xf6, 0x23, 0xff}, 264 | color.RGBA{0xef, 0xf8, 0x21, 0xff}, 265 | } 266 | 267 | // Magma is a colormap 268 | var Magma = ColorMap{ 269 | color.RGBA{0x00, 0x00, 0x03, 0xff}, 270 | color.RGBA{0x00, 0x00, 0x04, 0xff}, 271 | color.RGBA{0x00, 0x00, 0x06, 0xff}, 272 | color.RGBA{0x01, 0x00, 0x07, 0xff}, 273 | color.RGBA{0x01, 0x01, 0x09, 0xff}, 274 | color.RGBA{0x01, 0x01, 0x0b, 0xff}, 275 | color.RGBA{0x02, 0x02, 0x0d, 0xff}, 276 | color.RGBA{0x02, 0x02, 0x0f, 0xff}, 277 | color.RGBA{0x03, 0x03, 0x11, 0xff}, 278 | color.RGBA{0x04, 0x03, 0x13, 0xff}, 279 | color.RGBA{0x04, 0x04, 0x15, 0xff}, 280 | color.RGBA{0x05, 0x04, 0x17, 0xff}, 281 | color.RGBA{0x06, 0x05, 0x19, 0xff}, 282 | color.RGBA{0x07, 0x05, 0x1b, 0xff}, 283 | color.RGBA{0x08, 0x06, 0x1d, 0xff}, 284 | color.RGBA{0x09, 0x07, 0x1f, 0xff}, 285 | color.RGBA{0x0a, 0x07, 0x22, 0xff}, 286 | color.RGBA{0x0b, 0x08, 0x24, 0xff}, 287 | color.RGBA{0x0c, 0x09, 0x26, 0xff}, 288 | color.RGBA{0x0d, 0x0a, 0x28, 0xff}, 289 | color.RGBA{0x0e, 0x0a, 0x2a, 0xff}, 290 | color.RGBA{0x0f, 0x0b, 0x2c, 0xff}, 291 | color.RGBA{0x10, 0x0c, 0x2f, 0xff}, 292 | color.RGBA{0x11, 0x0c, 0x31, 0xff}, 293 | color.RGBA{0x12, 0x0d, 0x33, 0xff}, 294 | color.RGBA{0x14, 0x0d, 0x35, 0xff}, 295 | color.RGBA{0x15, 0x0e, 0x38, 0xff}, 296 | color.RGBA{0x16, 0x0e, 0x3a, 0xff}, 297 | color.RGBA{0x17, 0x0f, 0x3c, 0xff}, 298 | color.RGBA{0x18, 0x0f, 0x3f, 0xff}, 299 | color.RGBA{0x1a, 0x10, 0x41, 0xff}, 300 | color.RGBA{0x1b, 0x10, 0x44, 0xff}, 301 | color.RGBA{0x1c, 0x10, 0x46, 0xff}, 302 | color.RGBA{0x1e, 0x10, 0x49, 0xff}, 303 | color.RGBA{0x1f, 0x11, 0x4b, 0xff}, 304 | color.RGBA{0x20, 0x11, 0x4d, 0xff}, 305 | color.RGBA{0x22, 0x11, 0x50, 0xff}, 306 | color.RGBA{0x23, 0x11, 0x52, 0xff}, 307 | color.RGBA{0x25, 0x11, 0x55, 0xff}, 308 | color.RGBA{0x26, 0x11, 0x57, 0xff}, 309 | color.RGBA{0x28, 0x11, 0x59, 0xff}, 310 | color.RGBA{0x2a, 0x11, 0x5c, 0xff}, 311 | color.RGBA{0x2b, 0x11, 0x5e, 0xff}, 312 | color.RGBA{0x2d, 0x10, 0x60, 0xff}, 313 | color.RGBA{0x2f, 0x10, 0x62, 0xff}, 314 | color.RGBA{0x30, 0x10, 0x65, 0xff}, 315 | color.RGBA{0x32, 0x10, 0x67, 0xff}, 316 | color.RGBA{0x34, 0x10, 0x68, 0xff}, 317 | color.RGBA{0x35, 0x0f, 0x6a, 0xff}, 318 | color.RGBA{0x37, 0x0f, 0x6c, 0xff}, 319 | color.RGBA{0x39, 0x0f, 0x6e, 0xff}, 320 | color.RGBA{0x3b, 0x0f, 0x6f, 0xff}, 321 | color.RGBA{0x3c, 0x0f, 0x71, 0xff}, 322 | color.RGBA{0x3e, 0x0f, 0x72, 0xff}, 323 | color.RGBA{0x40, 0x0f, 0x73, 0xff}, 324 | color.RGBA{0x42, 0x0f, 0x74, 0xff}, 325 | color.RGBA{0x43, 0x0f, 0x75, 0xff}, 326 | color.RGBA{0x45, 0x0f, 0x76, 0xff}, 327 | color.RGBA{0x47, 0x0f, 0x77, 0xff}, 328 | color.RGBA{0x48, 0x10, 0x78, 0xff}, 329 | color.RGBA{0x4a, 0x10, 0x79, 0xff}, 330 | color.RGBA{0x4b, 0x10, 0x79, 0xff}, 331 | color.RGBA{0x4d, 0x11, 0x7a, 0xff}, 332 | color.RGBA{0x4f, 0x11, 0x7b, 0xff}, 333 | color.RGBA{0x50, 0x12, 0x7b, 0xff}, 334 | color.RGBA{0x52, 0x12, 0x7c, 0xff}, 335 | color.RGBA{0x53, 0x13, 0x7c, 0xff}, 336 | color.RGBA{0x55, 0x13, 0x7d, 0xff}, 337 | color.RGBA{0x57, 0x14, 0x7d, 0xff}, 338 | color.RGBA{0x58, 0x15, 0x7e, 0xff}, 339 | color.RGBA{0x5a, 0x15, 0x7e, 0xff}, 340 | color.RGBA{0x5b, 0x16, 0x7e, 0xff}, 341 | color.RGBA{0x5d, 0x17, 0x7e, 0xff}, 342 | color.RGBA{0x5e, 0x17, 0x7f, 0xff}, 343 | color.RGBA{0x60, 0x18, 0x7f, 0xff}, 344 | color.RGBA{0x61, 0x18, 0x7f, 0xff}, 345 | color.RGBA{0x63, 0x19, 0x7f, 0xff}, 346 | color.RGBA{0x65, 0x1a, 0x80, 0xff}, 347 | color.RGBA{0x66, 0x1a, 0x80, 0xff}, 348 | color.RGBA{0x68, 0x1b, 0x80, 0xff}, 349 | color.RGBA{0x69, 0x1c, 0x80, 0xff}, 350 | color.RGBA{0x6b, 0x1c, 0x80, 0xff}, 351 | color.RGBA{0x6c, 0x1d, 0x80, 0xff}, 352 | color.RGBA{0x6e, 0x1e, 0x81, 0xff}, 353 | color.RGBA{0x6f, 0x1e, 0x81, 0xff}, 354 | color.RGBA{0x71, 0x1f, 0x81, 0xff}, 355 | color.RGBA{0x73, 0x1f, 0x81, 0xff}, 356 | color.RGBA{0x74, 0x20, 0x81, 0xff}, 357 | color.RGBA{0x76, 0x21, 0x81, 0xff}, 358 | color.RGBA{0x77, 0x21, 0x81, 0xff}, 359 | color.RGBA{0x79, 0x22, 0x81, 0xff}, 360 | color.RGBA{0x7a, 0x22, 0x81, 0xff}, 361 | color.RGBA{0x7c, 0x23, 0x81, 0xff}, 362 | color.RGBA{0x7e, 0x24, 0x81, 0xff}, 363 | color.RGBA{0x7f, 0x24, 0x81, 0xff}, 364 | color.RGBA{0x81, 0x25, 0x81, 0xff}, 365 | color.RGBA{0x82, 0x25, 0x81, 0xff}, 366 | color.RGBA{0x84, 0x26, 0x81, 0xff}, 367 | color.RGBA{0x85, 0x26, 0x81, 0xff}, 368 | color.RGBA{0x87, 0x27, 0x81, 0xff}, 369 | color.RGBA{0x89, 0x28, 0x81, 0xff}, 370 | color.RGBA{0x8a, 0x28, 0x81, 0xff}, 371 | color.RGBA{0x8c, 0x29, 0x80, 0xff}, 372 | color.RGBA{0x8d, 0x29, 0x80, 0xff}, 373 | color.RGBA{0x8f, 0x2a, 0x80, 0xff}, 374 | color.RGBA{0x91, 0x2a, 0x80, 0xff}, 375 | color.RGBA{0x92, 0x2b, 0x80, 0xff}, 376 | color.RGBA{0x94, 0x2b, 0x80, 0xff}, 377 | color.RGBA{0x95, 0x2c, 0x80, 0xff}, 378 | color.RGBA{0x97, 0x2c, 0x7f, 0xff}, 379 | color.RGBA{0x99, 0x2d, 0x7f, 0xff}, 380 | color.RGBA{0x9a, 0x2d, 0x7f, 0xff}, 381 | color.RGBA{0x9c, 0x2e, 0x7f, 0xff}, 382 | color.RGBA{0x9e, 0x2e, 0x7e, 0xff}, 383 | color.RGBA{0x9f, 0x2f, 0x7e, 0xff}, 384 | color.RGBA{0xa1, 0x2f, 0x7e, 0xff}, 385 | color.RGBA{0xa3, 0x30, 0x7e, 0xff}, 386 | color.RGBA{0xa4, 0x30, 0x7d, 0xff}, 387 | color.RGBA{0xa6, 0x31, 0x7d, 0xff}, 388 | color.RGBA{0xa7, 0x31, 0x7d, 0xff}, 389 | color.RGBA{0xa9, 0x32, 0x7c, 0xff}, 390 | color.RGBA{0xab, 0x33, 0x7c, 0xff}, 391 | color.RGBA{0xac, 0x33, 0x7b, 0xff}, 392 | color.RGBA{0xae, 0x34, 0x7b, 0xff}, 393 | color.RGBA{0xb0, 0x34, 0x7b, 0xff}, 394 | color.RGBA{0xb1, 0x35, 0x7a, 0xff}, 395 | color.RGBA{0xb3, 0x35, 0x7a, 0xff}, 396 | color.RGBA{0xb5, 0x36, 0x79, 0xff}, 397 | color.RGBA{0xb6, 0x36, 0x79, 0xff}, 398 | color.RGBA{0xb8, 0x37, 0x78, 0xff}, 399 | color.RGBA{0xb9, 0x37, 0x78, 0xff}, 400 | color.RGBA{0xbb, 0x38, 0x77, 0xff}, 401 | color.RGBA{0xbd, 0x39, 0x77, 0xff}, 402 | color.RGBA{0xbe, 0x39, 0x76, 0xff}, 403 | color.RGBA{0xc0, 0x3a, 0x75, 0xff}, 404 | color.RGBA{0xc2, 0x3a, 0x75, 0xff}, 405 | color.RGBA{0xc3, 0x3b, 0x74, 0xff}, 406 | color.RGBA{0xc5, 0x3c, 0x74, 0xff}, 407 | color.RGBA{0xc6, 0x3c, 0x73, 0xff}, 408 | color.RGBA{0xc8, 0x3d, 0x72, 0xff}, 409 | color.RGBA{0xca, 0x3e, 0x72, 0xff}, 410 | color.RGBA{0xcb, 0x3e, 0x71, 0xff}, 411 | color.RGBA{0xcd, 0x3f, 0x70, 0xff}, 412 | color.RGBA{0xce, 0x40, 0x70, 0xff}, 413 | color.RGBA{0xd0, 0x41, 0x6f, 0xff}, 414 | color.RGBA{0xd1, 0x42, 0x6e, 0xff}, 415 | color.RGBA{0xd3, 0x42, 0x6d, 0xff}, 416 | color.RGBA{0xd4, 0x43, 0x6d, 0xff}, 417 | color.RGBA{0xd6, 0x44, 0x6c, 0xff}, 418 | color.RGBA{0xd7, 0x45, 0x6b, 0xff}, 419 | color.RGBA{0xd9, 0x46, 0x6a, 0xff}, 420 | color.RGBA{0xda, 0x47, 0x69, 0xff}, 421 | color.RGBA{0xdc, 0x48, 0x69, 0xff}, 422 | color.RGBA{0xdd, 0x49, 0x68, 0xff}, 423 | color.RGBA{0xde, 0x4a, 0x67, 0xff}, 424 | color.RGBA{0xe0, 0x4b, 0x66, 0xff}, 425 | color.RGBA{0xe1, 0x4c, 0x66, 0xff}, 426 | color.RGBA{0xe2, 0x4d, 0x65, 0xff}, 427 | color.RGBA{0xe4, 0x4e, 0x64, 0xff}, 428 | color.RGBA{0xe5, 0x50, 0x63, 0xff}, 429 | color.RGBA{0xe6, 0x51, 0x62, 0xff}, 430 | color.RGBA{0xe7, 0x52, 0x62, 0xff}, 431 | color.RGBA{0xe8, 0x54, 0x61, 0xff}, 432 | color.RGBA{0xea, 0x55, 0x60, 0xff}, 433 | color.RGBA{0xeb, 0x56, 0x60, 0xff}, 434 | color.RGBA{0xec, 0x58, 0x5f, 0xff}, 435 | color.RGBA{0xed, 0x59, 0x5f, 0xff}, 436 | color.RGBA{0xee, 0x5b, 0x5e, 0xff}, 437 | color.RGBA{0xee, 0x5d, 0x5d, 0xff}, 438 | color.RGBA{0xef, 0x5e, 0x5d, 0xff}, 439 | color.RGBA{0xf0, 0x60, 0x5d, 0xff}, 440 | color.RGBA{0xf1, 0x61, 0x5c, 0xff}, 441 | color.RGBA{0xf2, 0x63, 0x5c, 0xff}, 442 | color.RGBA{0xf3, 0x65, 0x5c, 0xff}, 443 | color.RGBA{0xf3, 0x67, 0x5b, 0xff}, 444 | color.RGBA{0xf4, 0x68, 0x5b, 0xff}, 445 | color.RGBA{0xf5, 0x6a, 0x5b, 0xff}, 446 | color.RGBA{0xf5, 0x6c, 0x5b, 0xff}, 447 | color.RGBA{0xf6, 0x6e, 0x5b, 0xff}, 448 | color.RGBA{0xf6, 0x70, 0x5b, 0xff}, 449 | color.RGBA{0xf7, 0x71, 0x5b, 0xff}, 450 | color.RGBA{0xf7, 0x73, 0x5c, 0xff}, 451 | color.RGBA{0xf8, 0x75, 0x5c, 0xff}, 452 | color.RGBA{0xf8, 0x77, 0x5c, 0xff}, 453 | color.RGBA{0xf9, 0x79, 0x5c, 0xff}, 454 | color.RGBA{0xf9, 0x7b, 0x5d, 0xff}, 455 | color.RGBA{0xf9, 0x7d, 0x5d, 0xff}, 456 | color.RGBA{0xfa, 0x7f, 0x5e, 0xff}, 457 | color.RGBA{0xfa, 0x80, 0x5e, 0xff}, 458 | color.RGBA{0xfa, 0x82, 0x5f, 0xff}, 459 | color.RGBA{0xfb, 0x84, 0x60, 0xff}, 460 | color.RGBA{0xfb, 0x86, 0x60, 0xff}, 461 | color.RGBA{0xfb, 0x88, 0x61, 0xff}, 462 | color.RGBA{0xfb, 0x8a, 0x62, 0xff}, 463 | color.RGBA{0xfc, 0x8c, 0x63, 0xff}, 464 | color.RGBA{0xfc, 0x8e, 0x63, 0xff}, 465 | color.RGBA{0xfc, 0x90, 0x64, 0xff}, 466 | color.RGBA{0xfc, 0x92, 0x65, 0xff}, 467 | color.RGBA{0xfc, 0x93, 0x66, 0xff}, 468 | color.RGBA{0xfd, 0x95, 0x67, 0xff}, 469 | color.RGBA{0xfd, 0x97, 0x68, 0xff}, 470 | color.RGBA{0xfd, 0x99, 0x69, 0xff}, 471 | color.RGBA{0xfd, 0x9b, 0x6a, 0xff}, 472 | color.RGBA{0xfd, 0x9d, 0x6b, 0xff}, 473 | color.RGBA{0xfd, 0x9f, 0x6c, 0xff}, 474 | color.RGBA{0xfd, 0xa1, 0x6e, 0xff}, 475 | color.RGBA{0xfd, 0xa2, 0x6f, 0xff}, 476 | color.RGBA{0xfd, 0xa4, 0x70, 0xff}, 477 | color.RGBA{0xfe, 0xa6, 0x71, 0xff}, 478 | color.RGBA{0xfe, 0xa8, 0x73, 0xff}, 479 | color.RGBA{0xfe, 0xaa, 0x74, 0xff}, 480 | color.RGBA{0xfe, 0xac, 0x75, 0xff}, 481 | color.RGBA{0xfe, 0xae, 0x76, 0xff}, 482 | color.RGBA{0xfe, 0xaf, 0x78, 0xff}, 483 | color.RGBA{0xfe, 0xb1, 0x79, 0xff}, 484 | color.RGBA{0xfe, 0xb3, 0x7b, 0xff}, 485 | color.RGBA{0xfe, 0xb5, 0x7c, 0xff}, 486 | color.RGBA{0xfe, 0xb7, 0x7d, 0xff}, 487 | color.RGBA{0xfe, 0xb9, 0x7f, 0xff}, 488 | color.RGBA{0xfe, 0xbb, 0x80, 0xff}, 489 | color.RGBA{0xfe, 0xbc, 0x82, 0xff}, 490 | color.RGBA{0xfe, 0xbe, 0x83, 0xff}, 491 | color.RGBA{0xfe, 0xc0, 0x85, 0xff}, 492 | color.RGBA{0xfe, 0xc2, 0x86, 0xff}, 493 | color.RGBA{0xfe, 0xc4, 0x88, 0xff}, 494 | color.RGBA{0xfe, 0xc6, 0x89, 0xff}, 495 | color.RGBA{0xfe, 0xc7, 0x8b, 0xff}, 496 | color.RGBA{0xfe, 0xc9, 0x8d, 0xff}, 497 | color.RGBA{0xfe, 0xcb, 0x8e, 0xff}, 498 | color.RGBA{0xfd, 0xcd, 0x90, 0xff}, 499 | color.RGBA{0xfd, 0xcf, 0x92, 0xff}, 500 | color.RGBA{0xfd, 0xd1, 0x93, 0xff}, 501 | color.RGBA{0xfd, 0xd2, 0x95, 0xff}, 502 | color.RGBA{0xfd, 0xd4, 0x97, 0xff}, 503 | color.RGBA{0xfd, 0xd6, 0x98, 0xff}, 504 | color.RGBA{0xfd, 0xd8, 0x9a, 0xff}, 505 | color.RGBA{0xfd, 0xda, 0x9c, 0xff}, 506 | color.RGBA{0xfd, 0xdc, 0x9d, 0xff}, 507 | color.RGBA{0xfd, 0xdd, 0x9f, 0xff}, 508 | color.RGBA{0xfd, 0xdf, 0xa1, 0xff}, 509 | color.RGBA{0xfd, 0xe1, 0xa3, 0xff}, 510 | color.RGBA{0xfc, 0xe3, 0xa5, 0xff}, 511 | color.RGBA{0xfc, 0xe5, 0xa6, 0xff}, 512 | color.RGBA{0xfc, 0xe6, 0xa8, 0xff}, 513 | color.RGBA{0xfc, 0xe8, 0xaa, 0xff}, 514 | color.RGBA{0xfc, 0xea, 0xac, 0xff}, 515 | color.RGBA{0xfc, 0xec, 0xae, 0xff}, 516 | color.RGBA{0xfc, 0xee, 0xb0, 0xff}, 517 | color.RGBA{0xfc, 0xf0, 0xb1, 0xff}, 518 | color.RGBA{0xfc, 0xf1, 0xb3, 0xff}, 519 | color.RGBA{0xfc, 0xf3, 0xb5, 0xff}, 520 | color.RGBA{0xfc, 0xf5, 0xb7, 0xff}, 521 | color.RGBA{0xfb, 0xf7, 0xb9, 0xff}, 522 | color.RGBA{0xfb, 0xf9, 0xbb, 0xff}, 523 | color.RGBA{0xfb, 0xfa, 0xbd, 0xff}, 524 | color.RGBA{0xfb, 0xfc, 0xbf, 0xff}, 525 | } 526 | 527 | // Inferno is a colormap 528 | var Inferno = ColorMap{ 529 | color.RGBA{0x00, 0x00, 0x03, 0xff}, 530 | color.RGBA{0x00, 0x00, 0x04, 0xff}, 531 | color.RGBA{0x00, 0x00, 0x06, 0xff}, 532 | color.RGBA{0x01, 0x00, 0x07, 0xff}, 533 | color.RGBA{0x01, 0x01, 0x09, 0xff}, 534 | color.RGBA{0x01, 0x01, 0x0b, 0xff}, 535 | color.RGBA{0x02, 0x01, 0x0e, 0xff}, 536 | color.RGBA{0x02, 0x02, 0x10, 0xff}, 537 | color.RGBA{0x03, 0x02, 0x12, 0xff}, 538 | color.RGBA{0x04, 0x03, 0x14, 0xff}, 539 | color.RGBA{0x04, 0x03, 0x16, 0xff}, 540 | color.RGBA{0x05, 0x04, 0x18, 0xff}, 541 | color.RGBA{0x06, 0x04, 0x1b, 0xff}, 542 | color.RGBA{0x07, 0x05, 0x1d, 0xff}, 543 | color.RGBA{0x08, 0x06, 0x1f, 0xff}, 544 | color.RGBA{0x09, 0x06, 0x21, 0xff}, 545 | color.RGBA{0x0a, 0x07, 0x23, 0xff}, 546 | color.RGBA{0x0b, 0x07, 0x26, 0xff}, 547 | color.RGBA{0x0d, 0x08, 0x28, 0xff}, 548 | color.RGBA{0x0e, 0x08, 0x2a, 0xff}, 549 | color.RGBA{0x0f, 0x09, 0x2d, 0xff}, 550 | color.RGBA{0x10, 0x09, 0x2f, 0xff}, 551 | color.RGBA{0x12, 0x0a, 0x32, 0xff}, 552 | color.RGBA{0x13, 0x0a, 0x34, 0xff}, 553 | color.RGBA{0x14, 0x0b, 0x36, 0xff}, 554 | color.RGBA{0x16, 0x0b, 0x39, 0xff}, 555 | color.RGBA{0x17, 0x0b, 0x3b, 0xff}, 556 | color.RGBA{0x19, 0x0b, 0x3e, 0xff}, 557 | color.RGBA{0x1a, 0x0b, 0x40, 0xff}, 558 | color.RGBA{0x1c, 0x0c, 0x43, 0xff}, 559 | color.RGBA{0x1d, 0x0c, 0x45, 0xff}, 560 | color.RGBA{0x1f, 0x0c, 0x47, 0xff}, 561 | color.RGBA{0x20, 0x0c, 0x4a, 0xff}, 562 | color.RGBA{0x22, 0x0b, 0x4c, 0xff}, 563 | color.RGBA{0x24, 0x0b, 0x4e, 0xff}, 564 | color.RGBA{0x26, 0x0b, 0x50, 0xff}, 565 | color.RGBA{0x27, 0x0b, 0x52, 0xff}, 566 | color.RGBA{0x29, 0x0b, 0x54, 0xff}, 567 | color.RGBA{0x2b, 0x0a, 0x56, 0xff}, 568 | color.RGBA{0x2d, 0x0a, 0x58, 0xff}, 569 | color.RGBA{0x2e, 0x0a, 0x5a, 0xff}, 570 | color.RGBA{0x30, 0x0a, 0x5c, 0xff}, 571 | color.RGBA{0x32, 0x09, 0x5d, 0xff}, 572 | color.RGBA{0x34, 0x09, 0x5f, 0xff}, 573 | color.RGBA{0x35, 0x09, 0x60, 0xff}, 574 | color.RGBA{0x37, 0x09, 0x61, 0xff}, 575 | color.RGBA{0x39, 0x09, 0x62, 0xff}, 576 | color.RGBA{0x3b, 0x09, 0x64, 0xff}, 577 | color.RGBA{0x3c, 0x09, 0x65, 0xff}, 578 | color.RGBA{0x3e, 0x09, 0x66, 0xff}, 579 | color.RGBA{0x40, 0x09, 0x66, 0xff}, 580 | color.RGBA{0x41, 0x09, 0x67, 0xff}, 581 | color.RGBA{0x43, 0x0a, 0x68, 0xff}, 582 | color.RGBA{0x45, 0x0a, 0x69, 0xff}, 583 | color.RGBA{0x46, 0x0a, 0x69, 0xff}, 584 | color.RGBA{0x48, 0x0b, 0x6a, 0xff}, 585 | color.RGBA{0x4a, 0x0b, 0x6a, 0xff}, 586 | color.RGBA{0x4b, 0x0c, 0x6b, 0xff}, 587 | color.RGBA{0x4d, 0x0c, 0x6b, 0xff}, 588 | color.RGBA{0x4f, 0x0d, 0x6c, 0xff}, 589 | color.RGBA{0x50, 0x0d, 0x6c, 0xff}, 590 | color.RGBA{0x52, 0x0e, 0x6c, 0xff}, 591 | color.RGBA{0x53, 0x0e, 0x6d, 0xff}, 592 | color.RGBA{0x55, 0x0f, 0x6d, 0xff}, 593 | color.RGBA{0x57, 0x0f, 0x6d, 0xff}, 594 | color.RGBA{0x58, 0x10, 0x6d, 0xff}, 595 | color.RGBA{0x5a, 0x11, 0x6d, 0xff}, 596 | color.RGBA{0x5b, 0x11, 0x6e, 0xff}, 597 | color.RGBA{0x5d, 0x12, 0x6e, 0xff}, 598 | color.RGBA{0x5f, 0x12, 0x6e, 0xff}, 599 | color.RGBA{0x60, 0x13, 0x6e, 0xff}, 600 | color.RGBA{0x62, 0x14, 0x6e, 0xff}, 601 | color.RGBA{0x63, 0x14, 0x6e, 0xff}, 602 | color.RGBA{0x65, 0x15, 0x6e, 0xff}, 603 | color.RGBA{0x66, 0x15, 0x6e, 0xff}, 604 | color.RGBA{0x68, 0x16, 0x6e, 0xff}, 605 | color.RGBA{0x6a, 0x17, 0x6e, 0xff}, 606 | color.RGBA{0x6b, 0x17, 0x6e, 0xff}, 607 | color.RGBA{0x6d, 0x18, 0x6e, 0xff}, 608 | color.RGBA{0x6e, 0x18, 0x6e, 0xff}, 609 | color.RGBA{0x70, 0x19, 0x6e, 0xff}, 610 | color.RGBA{0x72, 0x19, 0x6d, 0xff}, 611 | color.RGBA{0x73, 0x1a, 0x6d, 0xff}, 612 | color.RGBA{0x75, 0x1b, 0x6d, 0xff}, 613 | color.RGBA{0x76, 0x1b, 0x6d, 0xff}, 614 | color.RGBA{0x78, 0x1c, 0x6d, 0xff}, 615 | color.RGBA{0x7a, 0x1c, 0x6d, 0xff}, 616 | color.RGBA{0x7b, 0x1d, 0x6c, 0xff}, 617 | color.RGBA{0x7d, 0x1d, 0x6c, 0xff}, 618 | color.RGBA{0x7e, 0x1e, 0x6c, 0xff}, 619 | color.RGBA{0x80, 0x1f, 0x6b, 0xff}, 620 | color.RGBA{0x81, 0x1f, 0x6b, 0xff}, 621 | color.RGBA{0x83, 0x20, 0x6b, 0xff}, 622 | color.RGBA{0x85, 0x20, 0x6a, 0xff}, 623 | color.RGBA{0x86, 0x21, 0x6a, 0xff}, 624 | color.RGBA{0x88, 0x21, 0x6a, 0xff}, 625 | color.RGBA{0x89, 0x22, 0x69, 0xff}, 626 | color.RGBA{0x8b, 0x22, 0x69, 0xff}, 627 | color.RGBA{0x8d, 0x23, 0x69, 0xff}, 628 | color.RGBA{0x8e, 0x24, 0x68, 0xff}, 629 | color.RGBA{0x90, 0x24, 0x68, 0xff}, 630 | color.RGBA{0x91, 0x25, 0x67, 0xff}, 631 | color.RGBA{0x93, 0x25, 0x67, 0xff}, 632 | color.RGBA{0x95, 0x26, 0x66, 0xff}, 633 | color.RGBA{0x96, 0x26, 0x66, 0xff}, 634 | color.RGBA{0x98, 0x27, 0x65, 0xff}, 635 | color.RGBA{0x99, 0x28, 0x64, 0xff}, 636 | color.RGBA{0x9b, 0x28, 0x64, 0xff}, 637 | color.RGBA{0x9c, 0x29, 0x63, 0xff}, 638 | color.RGBA{0x9e, 0x29, 0x63, 0xff}, 639 | color.RGBA{0xa0, 0x2a, 0x62, 0xff}, 640 | color.RGBA{0xa1, 0x2b, 0x61, 0xff}, 641 | color.RGBA{0xa3, 0x2b, 0x61, 0xff}, 642 | color.RGBA{0xa4, 0x2c, 0x60, 0xff}, 643 | color.RGBA{0xa6, 0x2c, 0x5f, 0xff}, 644 | color.RGBA{0xa7, 0x2d, 0x5f, 0xff}, 645 | color.RGBA{0xa9, 0x2e, 0x5e, 0xff}, 646 | color.RGBA{0xab, 0x2e, 0x5d, 0xff}, 647 | color.RGBA{0xac, 0x2f, 0x5c, 0xff}, 648 | color.RGBA{0xae, 0x30, 0x5b, 0xff}, 649 | color.RGBA{0xaf, 0x31, 0x5b, 0xff}, 650 | color.RGBA{0xb1, 0x31, 0x5a, 0xff}, 651 | color.RGBA{0xb2, 0x32, 0x59, 0xff}, 652 | color.RGBA{0xb4, 0x33, 0x58, 0xff}, 653 | color.RGBA{0xb5, 0x33, 0x57, 0xff}, 654 | color.RGBA{0xb7, 0x34, 0x56, 0xff}, 655 | color.RGBA{0xb8, 0x35, 0x56, 0xff}, 656 | color.RGBA{0xba, 0x36, 0x55, 0xff}, 657 | color.RGBA{0xbb, 0x37, 0x54, 0xff}, 658 | color.RGBA{0xbd, 0x37, 0x53, 0xff}, 659 | color.RGBA{0xbe, 0x38, 0x52, 0xff}, 660 | color.RGBA{0xbf, 0x39, 0x51, 0xff}, 661 | color.RGBA{0xc1, 0x3a, 0x50, 0xff}, 662 | color.RGBA{0xc2, 0x3b, 0x4f, 0xff}, 663 | color.RGBA{0xc4, 0x3c, 0x4e, 0xff}, 664 | color.RGBA{0xc5, 0x3d, 0x4d, 0xff}, 665 | color.RGBA{0xc7, 0x3e, 0x4c, 0xff}, 666 | color.RGBA{0xc8, 0x3e, 0x4b, 0xff}, 667 | color.RGBA{0xc9, 0x3f, 0x4a, 0xff}, 668 | color.RGBA{0xcb, 0x40, 0x49, 0xff}, 669 | color.RGBA{0xcc, 0x41, 0x48, 0xff}, 670 | color.RGBA{0xcd, 0x42, 0x47, 0xff}, 671 | color.RGBA{0xcf, 0x44, 0x46, 0xff}, 672 | color.RGBA{0xd0, 0x45, 0x44, 0xff}, 673 | color.RGBA{0xd1, 0x46, 0x43, 0xff}, 674 | color.RGBA{0xd2, 0x47, 0x42, 0xff}, 675 | color.RGBA{0xd4, 0x48, 0x41, 0xff}, 676 | color.RGBA{0xd5, 0x49, 0x40, 0xff}, 677 | color.RGBA{0xd6, 0x4a, 0x3f, 0xff}, 678 | color.RGBA{0xd7, 0x4b, 0x3e, 0xff}, 679 | color.RGBA{0xd9, 0x4d, 0x3d, 0xff}, 680 | color.RGBA{0xda, 0x4e, 0x3b, 0xff}, 681 | color.RGBA{0xdb, 0x4f, 0x3a, 0xff}, 682 | color.RGBA{0xdc, 0x50, 0x39, 0xff}, 683 | color.RGBA{0xdd, 0x52, 0x38, 0xff}, 684 | color.RGBA{0xde, 0x53, 0x37, 0xff}, 685 | color.RGBA{0xdf, 0x54, 0x36, 0xff}, 686 | color.RGBA{0xe0, 0x56, 0x34, 0xff}, 687 | color.RGBA{0xe2, 0x57, 0x33, 0xff}, 688 | color.RGBA{0xe3, 0x58, 0x32, 0xff}, 689 | color.RGBA{0xe4, 0x5a, 0x31, 0xff}, 690 | color.RGBA{0xe5, 0x5b, 0x30, 0xff}, 691 | color.RGBA{0xe6, 0x5c, 0x2e, 0xff}, 692 | color.RGBA{0xe6, 0x5e, 0x2d, 0xff}, 693 | color.RGBA{0xe7, 0x5f, 0x2c, 0xff}, 694 | color.RGBA{0xe8, 0x61, 0x2b, 0xff}, 695 | color.RGBA{0xe9, 0x62, 0x2a, 0xff}, 696 | color.RGBA{0xea, 0x64, 0x28, 0xff}, 697 | color.RGBA{0xeb, 0x65, 0x27, 0xff}, 698 | color.RGBA{0xec, 0x67, 0x26, 0xff}, 699 | color.RGBA{0xed, 0x68, 0x25, 0xff}, 700 | color.RGBA{0xed, 0x6a, 0x23, 0xff}, 701 | color.RGBA{0xee, 0x6c, 0x22, 0xff}, 702 | color.RGBA{0xef, 0x6d, 0x21, 0xff}, 703 | color.RGBA{0xf0, 0x6f, 0x1f, 0xff}, 704 | color.RGBA{0xf0, 0x70, 0x1e, 0xff}, 705 | color.RGBA{0xf1, 0x72, 0x1d, 0xff}, 706 | color.RGBA{0xf2, 0x74, 0x1c, 0xff}, 707 | color.RGBA{0xf2, 0x75, 0x1a, 0xff}, 708 | color.RGBA{0xf3, 0x77, 0x19, 0xff}, 709 | color.RGBA{0xf3, 0x79, 0x18, 0xff}, 710 | color.RGBA{0xf4, 0x7a, 0x16, 0xff}, 711 | color.RGBA{0xf5, 0x7c, 0x15, 0xff}, 712 | color.RGBA{0xf5, 0x7e, 0x14, 0xff}, 713 | color.RGBA{0xf6, 0x80, 0x12, 0xff}, 714 | color.RGBA{0xf6, 0x81, 0x11, 0xff}, 715 | color.RGBA{0xf7, 0x83, 0x10, 0xff}, 716 | color.RGBA{0xf7, 0x85, 0x0e, 0xff}, 717 | color.RGBA{0xf8, 0x87, 0x0d, 0xff}, 718 | color.RGBA{0xf8, 0x88, 0x0c, 0xff}, 719 | color.RGBA{0xf8, 0x8a, 0x0b, 0xff}, 720 | color.RGBA{0xf9, 0x8c, 0x09, 0xff}, 721 | color.RGBA{0xf9, 0x8e, 0x08, 0xff}, 722 | color.RGBA{0xf9, 0x90, 0x08, 0xff}, 723 | color.RGBA{0xfa, 0x91, 0x07, 0xff}, 724 | color.RGBA{0xfa, 0x93, 0x06, 0xff}, 725 | color.RGBA{0xfa, 0x95, 0x06, 0xff}, 726 | color.RGBA{0xfa, 0x97, 0x06, 0xff}, 727 | color.RGBA{0xfb, 0x99, 0x06, 0xff}, 728 | color.RGBA{0xfb, 0x9b, 0x06, 0xff}, 729 | color.RGBA{0xfb, 0x9d, 0x06, 0xff}, 730 | color.RGBA{0xfb, 0x9e, 0x07, 0xff}, 731 | color.RGBA{0xfb, 0xa0, 0x07, 0xff}, 732 | color.RGBA{0xfb, 0xa2, 0x08, 0xff}, 733 | color.RGBA{0xfb, 0xa4, 0x0a, 0xff}, 734 | color.RGBA{0xfb, 0xa6, 0x0b, 0xff}, 735 | color.RGBA{0xfb, 0xa8, 0x0d, 0xff}, 736 | color.RGBA{0xfb, 0xaa, 0x0e, 0xff}, 737 | color.RGBA{0xfb, 0xac, 0x10, 0xff}, 738 | color.RGBA{0xfb, 0xae, 0x12, 0xff}, 739 | color.RGBA{0xfb, 0xb0, 0x14, 0xff}, 740 | color.RGBA{0xfb, 0xb1, 0x16, 0xff}, 741 | color.RGBA{0xfb, 0xb3, 0x18, 0xff}, 742 | color.RGBA{0xfb, 0xb5, 0x1a, 0xff}, 743 | color.RGBA{0xfb, 0xb7, 0x1c, 0xff}, 744 | color.RGBA{0xfb, 0xb9, 0x1e, 0xff}, 745 | color.RGBA{0xfa, 0xbb, 0x21, 0xff}, 746 | color.RGBA{0xfa, 0xbd, 0x23, 0xff}, 747 | color.RGBA{0xfa, 0xbf, 0x25, 0xff}, 748 | color.RGBA{0xfa, 0xc1, 0x28, 0xff}, 749 | color.RGBA{0xf9, 0xc3, 0x2a, 0xff}, 750 | color.RGBA{0xf9, 0xc5, 0x2c, 0xff}, 751 | color.RGBA{0xf9, 0xc7, 0x2f, 0xff}, 752 | color.RGBA{0xf8, 0xc9, 0x31, 0xff}, 753 | color.RGBA{0xf8, 0xcb, 0x34, 0xff}, 754 | color.RGBA{0xf8, 0xcd, 0x37, 0xff}, 755 | color.RGBA{0xf7, 0xcf, 0x3a, 0xff}, 756 | color.RGBA{0xf7, 0xd1, 0x3c, 0xff}, 757 | color.RGBA{0xf6, 0xd3, 0x3f, 0xff}, 758 | color.RGBA{0xf6, 0xd5, 0x42, 0xff}, 759 | color.RGBA{0xf5, 0xd7, 0x45, 0xff}, 760 | color.RGBA{0xf5, 0xd9, 0x48, 0xff}, 761 | color.RGBA{0xf4, 0xdb, 0x4b, 0xff}, 762 | color.RGBA{0xf4, 0xdc, 0x4f, 0xff}, 763 | color.RGBA{0xf3, 0xde, 0x52, 0xff}, 764 | color.RGBA{0xf3, 0xe0, 0x56, 0xff}, 765 | color.RGBA{0xf3, 0xe2, 0x59, 0xff}, 766 | color.RGBA{0xf2, 0xe4, 0x5d, 0xff}, 767 | color.RGBA{0xf2, 0xe6, 0x60, 0xff}, 768 | color.RGBA{0xf1, 0xe8, 0x64, 0xff}, 769 | color.RGBA{0xf1, 0xe9, 0x68, 0xff}, 770 | color.RGBA{0xf1, 0xeb, 0x6c, 0xff}, 771 | color.RGBA{0xf1, 0xed, 0x70, 0xff}, 772 | color.RGBA{0xf1, 0xee, 0x74, 0xff}, 773 | color.RGBA{0xf1, 0xf0, 0x79, 0xff}, 774 | color.RGBA{0xf1, 0xf2, 0x7d, 0xff}, 775 | color.RGBA{0xf2, 0xf3, 0x81, 0xff}, 776 | color.RGBA{0xf2, 0xf4, 0x85, 0xff}, 777 | color.RGBA{0xf3, 0xf6, 0x89, 0xff}, 778 | color.RGBA{0xf4, 0xf7, 0x8d, 0xff}, 779 | color.RGBA{0xf5, 0xf8, 0x91, 0xff}, 780 | color.RGBA{0xf6, 0xfa, 0x95, 0xff}, 781 | color.RGBA{0xf7, 0xfb, 0x99, 0xff}, 782 | color.RGBA{0xf9, 0xfc, 0x9d, 0xff}, 783 | color.RGBA{0xfa, 0xfd, 0xa0, 0xff}, 784 | color.RGBA{0xfc, 0xfe, 0xa4, 0xff}, 785 | } 786 | 787 | // Gray is a colormap 788 | var Gray = ColorMap{ 789 | color.RGBA{0x00, 0x00, 0x00, 0xff}, 790 | color.RGBA{0x01, 0x01, 0x01, 0xff}, 791 | color.RGBA{0x02, 0x02, 0x02, 0xff}, 792 | color.RGBA{0x03, 0x03, 0x03, 0xff}, 793 | color.RGBA{0x04, 0x04, 0x04, 0xff}, 794 | color.RGBA{0x05, 0x05, 0x05, 0xff}, 795 | color.RGBA{0x06, 0x06, 0x06, 0xff}, 796 | color.RGBA{0x07, 0x07, 0x07, 0xff}, 797 | color.RGBA{0x08, 0x08, 0x08, 0xff}, 798 | color.RGBA{0x09, 0x09, 0x09, 0xff}, 799 | color.RGBA{0x0a, 0x0a, 0x0a, 0xff}, 800 | color.RGBA{0x0b, 0x0b, 0x0b, 0xff}, 801 | color.RGBA{0x0c, 0x0c, 0x0c, 0xff}, 802 | color.RGBA{0x0d, 0x0d, 0x0d, 0xff}, 803 | color.RGBA{0x0e, 0x0e, 0x0e, 0xff}, 804 | color.RGBA{0x0f, 0x0f, 0x0f, 0xff}, 805 | color.RGBA{0x10, 0x10, 0x10, 0xff}, 806 | color.RGBA{0x11, 0x11, 0x11, 0xff}, 807 | color.RGBA{0x12, 0x12, 0x12, 0xff}, 808 | color.RGBA{0x13, 0x13, 0x13, 0xff}, 809 | color.RGBA{0x14, 0x14, 0x14, 0xff}, 810 | color.RGBA{0x15, 0x15, 0x15, 0xff}, 811 | color.RGBA{0x16, 0x16, 0x16, 0xff}, 812 | color.RGBA{0x17, 0x17, 0x17, 0xff}, 813 | color.RGBA{0x18, 0x18, 0x18, 0xff}, 814 | color.RGBA{0x19, 0x19, 0x19, 0xff}, 815 | color.RGBA{0x1a, 0x1a, 0x1a, 0xff}, 816 | color.RGBA{0x1b, 0x1b, 0x1b, 0xff}, 817 | color.RGBA{0x1c, 0x1c, 0x1c, 0xff}, 818 | color.RGBA{0x1d, 0x1d, 0x1d, 0xff}, 819 | color.RGBA{0x1e, 0x1e, 0x1e, 0xff}, 820 | color.RGBA{0x1f, 0x1f, 0x1f, 0xff}, 821 | color.RGBA{0x20, 0x20, 0x20, 0xff}, 822 | color.RGBA{0x21, 0x21, 0x21, 0xff}, 823 | color.RGBA{0x22, 0x22, 0x22, 0xff}, 824 | color.RGBA{0x23, 0x23, 0x23, 0xff}, 825 | color.RGBA{0x24, 0x24, 0x24, 0xff}, 826 | color.RGBA{0x25, 0x25, 0x25, 0xff}, 827 | color.RGBA{0x26, 0x26, 0x26, 0xff}, 828 | color.RGBA{0x27, 0x27, 0x27, 0xff}, 829 | color.RGBA{0x28, 0x28, 0x28, 0xff}, 830 | color.RGBA{0x29, 0x29, 0x29, 0xff}, 831 | color.RGBA{0x2a, 0x2a, 0x2a, 0xff}, 832 | color.RGBA{0x2b, 0x2b, 0x2b, 0xff}, 833 | color.RGBA{0x2c, 0x2c, 0x2c, 0xff}, 834 | color.RGBA{0x2d, 0x2d, 0x2d, 0xff}, 835 | color.RGBA{0x2e, 0x2e, 0x2e, 0xff}, 836 | color.RGBA{0x2f, 0x2f, 0x2f, 0xff}, 837 | color.RGBA{0x30, 0x30, 0x30, 0xff}, 838 | color.RGBA{0x31, 0x31, 0x31, 0xff}, 839 | color.RGBA{0x32, 0x32, 0x32, 0xff}, 840 | color.RGBA{0x33, 0x33, 0x33, 0xff}, 841 | color.RGBA{0x34, 0x34, 0x34, 0xff}, 842 | color.RGBA{0x35, 0x35, 0x35, 0xff}, 843 | color.RGBA{0x36, 0x36, 0x36, 0xff}, 844 | color.RGBA{0x37, 0x37, 0x37, 0xff}, 845 | color.RGBA{0x38, 0x38, 0x38, 0xff}, 846 | color.RGBA{0x39, 0x39, 0x39, 0xff}, 847 | color.RGBA{0x3a, 0x3a, 0x3a, 0xff}, 848 | color.RGBA{0x3b, 0x3b, 0x3b, 0xff}, 849 | color.RGBA{0x3c, 0x3c, 0x3c, 0xff}, 850 | color.RGBA{0x3d, 0x3d, 0x3d, 0xff}, 851 | color.RGBA{0x3e, 0x3e, 0x3e, 0xff}, 852 | color.RGBA{0x3f, 0x3f, 0x3f, 0xff}, 853 | color.RGBA{0x40, 0x40, 0x40, 0xff}, 854 | color.RGBA{0x41, 0x41, 0x41, 0xff}, 855 | color.RGBA{0x42, 0x42, 0x42, 0xff}, 856 | color.RGBA{0x43, 0x43, 0x43, 0xff}, 857 | color.RGBA{0x44, 0x44, 0x44, 0xff}, 858 | color.RGBA{0x45, 0x45, 0x45, 0xff}, 859 | color.RGBA{0x46, 0x46, 0x46, 0xff}, 860 | color.RGBA{0x47, 0x47, 0x47, 0xff}, 861 | color.RGBA{0x48, 0x48, 0x48, 0xff}, 862 | color.RGBA{0x49, 0x49, 0x49, 0xff}, 863 | color.RGBA{0x4a, 0x4a, 0x4a, 0xff}, 864 | color.RGBA{0x4b, 0x4b, 0x4b, 0xff}, 865 | color.RGBA{0x4c, 0x4c, 0x4c, 0xff}, 866 | color.RGBA{0x4d, 0x4d, 0x4d, 0xff}, 867 | color.RGBA{0x4e, 0x4e, 0x4e, 0xff}, 868 | color.RGBA{0x4f, 0x4f, 0x4f, 0xff}, 869 | color.RGBA{0x50, 0x50, 0x50, 0xff}, 870 | color.RGBA{0x51, 0x51, 0x51, 0xff}, 871 | color.RGBA{0x52, 0x52, 0x52, 0xff}, 872 | color.RGBA{0x53, 0x53, 0x53, 0xff}, 873 | color.RGBA{0x54, 0x54, 0x54, 0xff}, 874 | color.RGBA{0x55, 0x55, 0x55, 0xff}, 875 | color.RGBA{0x56, 0x56, 0x56, 0xff}, 876 | color.RGBA{0x57, 0x57, 0x57, 0xff}, 877 | color.RGBA{0x58, 0x58, 0x58, 0xff}, 878 | color.RGBA{0x59, 0x59, 0x59, 0xff}, 879 | color.RGBA{0x5a, 0x5a, 0x5a, 0xff}, 880 | color.RGBA{0x5b, 0x5b, 0x5b, 0xff}, 881 | color.RGBA{0x5c, 0x5c, 0x5c, 0xff}, 882 | color.RGBA{0x5d, 0x5d, 0x5d, 0xff}, 883 | color.RGBA{0x5e, 0x5e, 0x5e, 0xff}, 884 | color.RGBA{0x5f, 0x5f, 0x5f, 0xff}, 885 | color.RGBA{0x60, 0x60, 0x60, 0xff}, 886 | color.RGBA{0x61, 0x61, 0x61, 0xff}, 887 | color.RGBA{0x62, 0x62, 0x62, 0xff}, 888 | color.RGBA{0x63, 0x63, 0x63, 0xff}, 889 | color.RGBA{0x64, 0x64, 0x64, 0xff}, 890 | color.RGBA{0x65, 0x65, 0x65, 0xff}, 891 | color.RGBA{0x66, 0x66, 0x66, 0xff}, 892 | color.RGBA{0x67, 0x67, 0x67, 0xff}, 893 | color.RGBA{0x68, 0x68, 0x68, 0xff}, 894 | color.RGBA{0x69, 0x69, 0x69, 0xff}, 895 | color.RGBA{0x6a, 0x6a, 0x6a, 0xff}, 896 | color.RGBA{0x6b, 0x6b, 0x6b, 0xff}, 897 | color.RGBA{0x6c, 0x6c, 0x6c, 0xff}, 898 | color.RGBA{0x6d, 0x6d, 0x6d, 0xff}, 899 | color.RGBA{0x6e, 0x6e, 0x6e, 0xff}, 900 | color.RGBA{0x6f, 0x6f, 0x6f, 0xff}, 901 | color.RGBA{0x70, 0x70, 0x70, 0xff}, 902 | color.RGBA{0x71, 0x71, 0x71, 0xff}, 903 | color.RGBA{0x72, 0x72, 0x72, 0xff}, 904 | color.RGBA{0x73, 0x73, 0x73, 0xff}, 905 | color.RGBA{0x74, 0x74, 0x74, 0xff}, 906 | color.RGBA{0x75, 0x75, 0x75, 0xff}, 907 | color.RGBA{0x76, 0x76, 0x76, 0xff}, 908 | color.RGBA{0x77, 0x77, 0x77, 0xff}, 909 | color.RGBA{0x78, 0x78, 0x78, 0xff}, 910 | color.RGBA{0x79, 0x79, 0x79, 0xff}, 911 | color.RGBA{0x7a, 0x7a, 0x7a, 0xff}, 912 | color.RGBA{0x7b, 0x7b, 0x7b, 0xff}, 913 | color.RGBA{0x7c, 0x7c, 0x7c, 0xff}, 914 | color.RGBA{0x7d, 0x7d, 0x7d, 0xff}, 915 | color.RGBA{0x7e, 0x7e, 0x7e, 0xff}, 916 | color.RGBA{0x7f, 0x7f, 0x7f, 0xff}, 917 | color.RGBA{0x80, 0x80, 0x80, 0xff}, 918 | color.RGBA{0x81, 0x81, 0x81, 0xff}, 919 | color.RGBA{0x82, 0x82, 0x82, 0xff}, 920 | color.RGBA{0x83, 0x83, 0x83, 0xff}, 921 | color.RGBA{0x84, 0x84, 0x84, 0xff}, 922 | color.RGBA{0x85, 0x85, 0x85, 0xff}, 923 | color.RGBA{0x86, 0x86, 0x86, 0xff}, 924 | color.RGBA{0x87, 0x87, 0x87, 0xff}, 925 | color.RGBA{0x88, 0x88, 0x88, 0xff}, 926 | color.RGBA{0x89, 0x89, 0x89, 0xff}, 927 | color.RGBA{0x8a, 0x8a, 0x8a, 0xff}, 928 | color.RGBA{0x8b, 0x8b, 0x8b, 0xff}, 929 | color.RGBA{0x8c, 0x8c, 0x8c, 0xff}, 930 | color.RGBA{0x8d, 0x8d, 0x8d, 0xff}, 931 | color.RGBA{0x8e, 0x8e, 0x8e, 0xff}, 932 | color.RGBA{0x8f, 0x8f, 0x8f, 0xff}, 933 | color.RGBA{0x90, 0x90, 0x90, 0xff}, 934 | color.RGBA{0x91, 0x91, 0x91, 0xff}, 935 | color.RGBA{0x92, 0x92, 0x92, 0xff}, 936 | color.RGBA{0x93, 0x93, 0x93, 0xff}, 937 | color.RGBA{0x94, 0x94, 0x94, 0xff}, 938 | color.RGBA{0x95, 0x95, 0x95, 0xff}, 939 | color.RGBA{0x96, 0x96, 0x96, 0xff}, 940 | color.RGBA{0x97, 0x97, 0x97, 0xff}, 941 | color.RGBA{0x98, 0x98, 0x98, 0xff}, 942 | color.RGBA{0x99, 0x99, 0x99, 0xff}, 943 | color.RGBA{0x9a, 0x9a, 0x9a, 0xff}, 944 | color.RGBA{0x9b, 0x9b, 0x9b, 0xff}, 945 | color.RGBA{0x9c, 0x9c, 0x9c, 0xff}, 946 | color.RGBA{0x9d, 0x9d, 0x9d, 0xff}, 947 | color.RGBA{0x9e, 0x9e, 0x9e, 0xff}, 948 | color.RGBA{0x9f, 0x9f, 0x9f, 0xff}, 949 | color.RGBA{0xa0, 0xa0, 0xa0, 0xff}, 950 | color.RGBA{0xa1, 0xa1, 0xa1, 0xff}, 951 | color.RGBA{0xa2, 0xa2, 0xa2, 0xff}, 952 | color.RGBA{0xa3, 0xa3, 0xa3, 0xff}, 953 | color.RGBA{0xa4, 0xa4, 0xa4, 0xff}, 954 | color.RGBA{0xa5, 0xa5, 0xa5, 0xff}, 955 | color.RGBA{0xa6, 0xa6, 0xa6, 0xff}, 956 | color.RGBA{0xa7, 0xa7, 0xa7, 0xff}, 957 | color.RGBA{0xa8, 0xa8, 0xa8, 0xff}, 958 | color.RGBA{0xa9, 0xa9, 0xa9, 0xff}, 959 | color.RGBA{0xaa, 0xaa, 0xaa, 0xff}, 960 | color.RGBA{0xab, 0xab, 0xab, 0xff}, 961 | color.RGBA{0xac, 0xac, 0xac, 0xff}, 962 | color.RGBA{0xad, 0xad, 0xad, 0xff}, 963 | color.RGBA{0xae, 0xae, 0xae, 0xff}, 964 | color.RGBA{0xaf, 0xaf, 0xaf, 0xff}, 965 | color.RGBA{0xb0, 0xb0, 0xb0, 0xff}, 966 | color.RGBA{0xb1, 0xb1, 0xb1, 0xff}, 967 | color.RGBA{0xb2, 0xb2, 0xb2, 0xff}, 968 | color.RGBA{0xb3, 0xb3, 0xb3, 0xff}, 969 | color.RGBA{0xb4, 0xb4, 0xb4, 0xff}, 970 | color.RGBA{0xb5, 0xb5, 0xb5, 0xff}, 971 | color.RGBA{0xb6, 0xb6, 0xb6, 0xff}, 972 | color.RGBA{0xb7, 0xb7, 0xb7, 0xff}, 973 | color.RGBA{0xb8, 0xb8, 0xb8, 0xff}, 974 | color.RGBA{0xb9, 0xb9, 0xb9, 0xff}, 975 | color.RGBA{0xba, 0xba, 0xba, 0xff}, 976 | color.RGBA{0xbb, 0xbb, 0xbb, 0xff}, 977 | color.RGBA{0xbc, 0xbc, 0xbc, 0xff}, 978 | color.RGBA{0xbd, 0xbd, 0xbd, 0xff}, 979 | color.RGBA{0xbe, 0xbe, 0xbe, 0xff}, 980 | color.RGBA{0xbf, 0xbf, 0xbf, 0xff}, 981 | color.RGBA{0xc0, 0xc0, 0xc0, 0xff}, 982 | color.RGBA{0xc1, 0xc1, 0xc1, 0xff}, 983 | color.RGBA{0xc2, 0xc2, 0xc2, 0xff}, 984 | color.RGBA{0xc3, 0xc3, 0xc3, 0xff}, 985 | color.RGBA{0xc4, 0xc4, 0xc4, 0xff}, 986 | color.RGBA{0xc5, 0xc5, 0xc5, 0xff}, 987 | color.RGBA{0xc6, 0xc6, 0xc6, 0xff}, 988 | color.RGBA{0xc7, 0xc7, 0xc7, 0xff}, 989 | color.RGBA{0xc8, 0xc8, 0xc8, 0xff}, 990 | color.RGBA{0xc9, 0xc9, 0xc9, 0xff}, 991 | color.RGBA{0xca, 0xca, 0xca, 0xff}, 992 | color.RGBA{0xcb, 0xcb, 0xcb, 0xff}, 993 | color.RGBA{0xcc, 0xcc, 0xcc, 0xff}, 994 | color.RGBA{0xcd, 0xcd, 0xcd, 0xff}, 995 | color.RGBA{0xce, 0xce, 0xce, 0xff}, 996 | color.RGBA{0xcf, 0xcf, 0xcf, 0xff}, 997 | color.RGBA{0xd0, 0xd0, 0xd0, 0xff}, 998 | color.RGBA{0xd1, 0xd1, 0xd1, 0xff}, 999 | color.RGBA{0xd2, 0xd2, 0xd2, 0xff}, 1000 | color.RGBA{0xd3, 0xd3, 0xd3, 0xff}, 1001 | color.RGBA{0xd4, 0xd4, 0xd4, 0xff}, 1002 | color.RGBA{0xd5, 0xd5, 0xd5, 0xff}, 1003 | color.RGBA{0xd6, 0xd6, 0xd6, 0xff}, 1004 | color.RGBA{0xd7, 0xd7, 0xd7, 0xff}, 1005 | color.RGBA{0xd8, 0xd8, 0xd8, 0xff}, 1006 | color.RGBA{0xd9, 0xd9, 0xd9, 0xff}, 1007 | color.RGBA{0xda, 0xda, 0xda, 0xff}, 1008 | color.RGBA{0xdb, 0xdb, 0xdb, 0xff}, 1009 | color.RGBA{0xdc, 0xdc, 0xdc, 0xff}, 1010 | color.RGBA{0xdd, 0xdd, 0xdd, 0xff}, 1011 | color.RGBA{0xde, 0xde, 0xde, 0xff}, 1012 | color.RGBA{0xdf, 0xdf, 0xdf, 0xff}, 1013 | color.RGBA{0xe0, 0xe0, 0xe0, 0xff}, 1014 | color.RGBA{0xe1, 0xe1, 0xe1, 0xff}, 1015 | color.RGBA{0xe2, 0xe2, 0xe2, 0xff}, 1016 | color.RGBA{0xe3, 0xe3, 0xe3, 0xff}, 1017 | color.RGBA{0xe4, 0xe4, 0xe4, 0xff}, 1018 | color.RGBA{0xe5, 0xe5, 0xe5, 0xff}, 1019 | color.RGBA{0xe6, 0xe6, 0xe6, 0xff}, 1020 | color.RGBA{0xe7, 0xe7, 0xe7, 0xff}, 1021 | color.RGBA{0xe8, 0xe8, 0xe8, 0xff}, 1022 | color.RGBA{0xe9, 0xe9, 0xe9, 0xff}, 1023 | color.RGBA{0xea, 0xea, 0xea, 0xff}, 1024 | color.RGBA{0xeb, 0xeb, 0xeb, 0xff}, 1025 | color.RGBA{0xec, 0xec, 0xec, 0xff}, 1026 | color.RGBA{0xed, 0xed, 0xed, 0xff}, 1027 | color.RGBA{0xee, 0xee, 0xee, 0xff}, 1028 | color.RGBA{0xef, 0xef, 0xef, 0xff}, 1029 | color.RGBA{0xf0, 0xf0, 0xf0, 0xff}, 1030 | color.RGBA{0xf1, 0xf1, 0xf1, 0xff}, 1031 | color.RGBA{0xf2, 0xf2, 0xf2, 0xff}, 1032 | color.RGBA{0xf3, 0xf3, 0xf3, 0xff}, 1033 | color.RGBA{0xf4, 0xf4, 0xf4, 0xff}, 1034 | color.RGBA{0xf5, 0xf5, 0xf5, 0xff}, 1035 | color.RGBA{0xf6, 0xf6, 0xf6, 0xff}, 1036 | color.RGBA{0xf7, 0xf7, 0xf7, 0xff}, 1037 | color.RGBA{0xf8, 0xf8, 0xf8, 0xff}, 1038 | color.RGBA{0xf9, 0xf9, 0xf9, 0xff}, 1039 | color.RGBA{0xfa, 0xfa, 0xfa, 0xff}, 1040 | color.RGBA{0xfb, 0xfb, 0xfb, 0xff}, 1041 | color.RGBA{0xfc, 0xfc, 0xfc, 0xff}, 1042 | color.RGBA{0xfd, 0xfd, 0xfd, 0xff}, 1043 | color.RGBA{0xfe, 0xfe, 0xfe, 0xff}, 1044 | color.RGBA{0xff, 0xff, 0xff, 0xff}, 1045 | } 1046 | 1047 | // Viridis is a colormap 1048 | var Viridis = ColorMap{ 1049 | color.RGBA{0x44, 0x01, 0x54, 0xff}, 1050 | color.RGBA{0x44, 0x02, 0x55, 0xff}, 1051 | color.RGBA{0x44, 0x03, 0x57, 0xff}, 1052 | color.RGBA{0x45, 0x05, 0x58, 0xff}, 1053 | color.RGBA{0x45, 0x06, 0x5a, 0xff}, 1054 | color.RGBA{0x45, 0x08, 0x5b, 0xff}, 1055 | color.RGBA{0x46, 0x09, 0x5c, 0xff}, 1056 | color.RGBA{0x46, 0x0b, 0x5e, 0xff}, 1057 | color.RGBA{0x46, 0x0c, 0x5f, 0xff}, 1058 | color.RGBA{0x46, 0x0e, 0x61, 0xff}, 1059 | color.RGBA{0x47, 0x0f, 0x62, 0xff}, 1060 | color.RGBA{0x47, 0x11, 0x63, 0xff}, 1061 | color.RGBA{0x47, 0x12, 0x65, 0xff}, 1062 | color.RGBA{0x47, 0x14, 0x66, 0xff}, 1063 | color.RGBA{0x47, 0x15, 0x67, 0xff}, 1064 | color.RGBA{0x47, 0x16, 0x69, 0xff}, 1065 | color.RGBA{0x47, 0x18, 0x6a, 0xff}, 1066 | color.RGBA{0x48, 0x19, 0x6b, 0xff}, 1067 | color.RGBA{0x48, 0x1a, 0x6c, 0xff}, 1068 | color.RGBA{0x48, 0x1c, 0x6e, 0xff}, 1069 | color.RGBA{0x48, 0x1d, 0x6f, 0xff}, 1070 | color.RGBA{0x48, 0x1e, 0x70, 0xff}, 1071 | color.RGBA{0x48, 0x20, 0x71, 0xff}, 1072 | color.RGBA{0x48, 0x21, 0x72, 0xff}, 1073 | color.RGBA{0x48, 0x22, 0x73, 0xff}, 1074 | color.RGBA{0x48, 0x23, 0x74, 0xff}, 1075 | color.RGBA{0x47, 0x25, 0x75, 0xff}, 1076 | color.RGBA{0x47, 0x26, 0x76, 0xff}, 1077 | color.RGBA{0x47, 0x27, 0x77, 0xff}, 1078 | color.RGBA{0x47, 0x28, 0x78, 0xff}, 1079 | color.RGBA{0x47, 0x2a, 0x79, 0xff}, 1080 | color.RGBA{0x47, 0x2b, 0x7a, 0xff}, 1081 | color.RGBA{0x47, 0x2c, 0x7b, 0xff}, 1082 | color.RGBA{0x46, 0x2d, 0x7c, 0xff}, 1083 | color.RGBA{0x46, 0x2f, 0x7c, 0xff}, 1084 | color.RGBA{0x46, 0x30, 0x7d, 0xff}, 1085 | color.RGBA{0x46, 0x31, 0x7e, 0xff}, 1086 | color.RGBA{0x45, 0x32, 0x7f, 0xff}, 1087 | color.RGBA{0x45, 0x34, 0x7f, 0xff}, 1088 | color.RGBA{0x45, 0x35, 0x80, 0xff}, 1089 | color.RGBA{0x45, 0x36, 0x81, 0xff}, 1090 | color.RGBA{0x44, 0x37, 0x81, 0xff}, 1091 | color.RGBA{0x44, 0x39, 0x82, 0xff}, 1092 | color.RGBA{0x43, 0x3a, 0x83, 0xff}, 1093 | color.RGBA{0x43, 0x3b, 0x83, 0xff}, 1094 | color.RGBA{0x43, 0x3c, 0x84, 0xff}, 1095 | color.RGBA{0x42, 0x3d, 0x84, 0xff}, 1096 | color.RGBA{0x42, 0x3e, 0x85, 0xff}, 1097 | color.RGBA{0x42, 0x40, 0x85, 0xff}, 1098 | color.RGBA{0x41, 0x41, 0x86, 0xff}, 1099 | color.RGBA{0x41, 0x42, 0x86, 0xff}, 1100 | color.RGBA{0x40, 0x43, 0x87, 0xff}, 1101 | color.RGBA{0x40, 0x44, 0x87, 0xff}, 1102 | color.RGBA{0x3f, 0x45, 0x87, 0xff}, 1103 | color.RGBA{0x3f, 0x47, 0x88, 0xff}, 1104 | color.RGBA{0x3e, 0x48, 0x88, 0xff}, 1105 | color.RGBA{0x3e, 0x49, 0x89, 0xff}, 1106 | color.RGBA{0x3d, 0x4a, 0x89, 0xff}, 1107 | color.RGBA{0x3d, 0x4b, 0x89, 0xff}, 1108 | color.RGBA{0x3d, 0x4c, 0x89, 0xff}, 1109 | color.RGBA{0x3c, 0x4d, 0x8a, 0xff}, 1110 | color.RGBA{0x3c, 0x4e, 0x8a, 0xff}, 1111 | color.RGBA{0x3b, 0x50, 0x8a, 0xff}, 1112 | color.RGBA{0x3b, 0x51, 0x8a, 0xff}, 1113 | color.RGBA{0x3a, 0x52, 0x8b, 0xff}, 1114 | color.RGBA{0x3a, 0x53, 0x8b, 0xff}, 1115 | color.RGBA{0x39, 0x54, 0x8b, 0xff}, 1116 | color.RGBA{0x39, 0x55, 0x8b, 0xff}, 1117 | color.RGBA{0x38, 0x56, 0x8b, 0xff}, 1118 | color.RGBA{0x38, 0x57, 0x8c, 0xff}, 1119 | color.RGBA{0x37, 0x58, 0x8c, 0xff}, 1120 | color.RGBA{0x37, 0x59, 0x8c, 0xff}, 1121 | color.RGBA{0x36, 0x5a, 0x8c, 0xff}, 1122 | color.RGBA{0x36, 0x5b, 0x8c, 0xff}, 1123 | color.RGBA{0x35, 0x5c, 0x8c, 0xff}, 1124 | color.RGBA{0x35, 0x5d, 0x8c, 0xff}, 1125 | color.RGBA{0x34, 0x5e, 0x8d, 0xff}, 1126 | color.RGBA{0x34, 0x5f, 0x8d, 0xff}, 1127 | color.RGBA{0x33, 0x60, 0x8d, 0xff}, 1128 | color.RGBA{0x33, 0x61, 0x8d, 0xff}, 1129 | color.RGBA{0x32, 0x62, 0x8d, 0xff}, 1130 | color.RGBA{0x32, 0x63, 0x8d, 0xff}, 1131 | color.RGBA{0x31, 0x64, 0x8d, 0xff}, 1132 | color.RGBA{0x31, 0x65, 0x8d, 0xff}, 1133 | color.RGBA{0x31, 0x66, 0x8d, 0xff}, 1134 | color.RGBA{0x30, 0x67, 0x8d, 0xff}, 1135 | color.RGBA{0x30, 0x68, 0x8d, 0xff}, 1136 | color.RGBA{0x2f, 0x69, 0x8d, 0xff}, 1137 | color.RGBA{0x2f, 0x6a, 0x8d, 0xff}, 1138 | color.RGBA{0x2e, 0x6b, 0x8e, 0xff}, 1139 | color.RGBA{0x2e, 0x6c, 0x8e, 0xff}, 1140 | color.RGBA{0x2e, 0x6d, 0x8e, 0xff}, 1141 | color.RGBA{0x2d, 0x6e, 0x8e, 0xff}, 1142 | color.RGBA{0x2d, 0x6f, 0x8e, 0xff}, 1143 | color.RGBA{0x2c, 0x70, 0x8e, 0xff}, 1144 | color.RGBA{0x2c, 0x71, 0x8e, 0xff}, 1145 | color.RGBA{0x2c, 0x72, 0x8e, 0xff}, 1146 | color.RGBA{0x2b, 0x73, 0x8e, 0xff}, 1147 | color.RGBA{0x2b, 0x74, 0x8e, 0xff}, 1148 | color.RGBA{0x2a, 0x75, 0x8e, 0xff}, 1149 | color.RGBA{0x2a, 0x76, 0x8e, 0xff}, 1150 | color.RGBA{0x2a, 0x77, 0x8e, 0xff}, 1151 | color.RGBA{0x29, 0x78, 0x8e, 0xff}, 1152 | color.RGBA{0x29, 0x79, 0x8e, 0xff}, 1153 | color.RGBA{0x28, 0x7a, 0x8e, 0xff}, 1154 | color.RGBA{0x28, 0x7a, 0x8e, 0xff}, 1155 | color.RGBA{0x28, 0x7b, 0x8e, 0xff}, 1156 | color.RGBA{0x27, 0x7c, 0x8e, 0xff}, 1157 | color.RGBA{0x27, 0x7d, 0x8e, 0xff}, 1158 | color.RGBA{0x27, 0x7e, 0x8e, 0xff}, 1159 | color.RGBA{0x26, 0x7f, 0x8e, 0xff}, 1160 | color.RGBA{0x26, 0x80, 0x8e, 0xff}, 1161 | color.RGBA{0x26, 0x81, 0x8e, 0xff}, 1162 | color.RGBA{0x25, 0x82, 0x8e, 0xff}, 1163 | color.RGBA{0x25, 0x83, 0x8d, 0xff}, 1164 | color.RGBA{0x24, 0x84, 0x8d, 0xff}, 1165 | color.RGBA{0x24, 0x85, 0x8d, 0xff}, 1166 | color.RGBA{0x24, 0x86, 0x8d, 0xff}, 1167 | color.RGBA{0x23, 0x87, 0x8d, 0xff}, 1168 | color.RGBA{0x23, 0x88, 0x8d, 0xff}, 1169 | color.RGBA{0x23, 0x89, 0x8d, 0xff}, 1170 | color.RGBA{0x22, 0x89, 0x8d, 0xff}, 1171 | color.RGBA{0x22, 0x8a, 0x8d, 0xff}, 1172 | color.RGBA{0x22, 0x8b, 0x8d, 0xff}, 1173 | color.RGBA{0x21, 0x8c, 0x8d, 0xff}, 1174 | color.RGBA{0x21, 0x8d, 0x8c, 0xff}, 1175 | color.RGBA{0x21, 0x8e, 0x8c, 0xff}, 1176 | color.RGBA{0x20, 0x8f, 0x8c, 0xff}, 1177 | color.RGBA{0x20, 0x90, 0x8c, 0xff}, 1178 | color.RGBA{0x20, 0x91, 0x8c, 0xff}, 1179 | color.RGBA{0x1f, 0x92, 0x8c, 0xff}, 1180 | color.RGBA{0x1f, 0x93, 0x8b, 0xff}, 1181 | color.RGBA{0x1f, 0x94, 0x8b, 0xff}, 1182 | color.RGBA{0x1f, 0x95, 0x8b, 0xff}, 1183 | color.RGBA{0x1f, 0x96, 0x8b, 0xff}, 1184 | color.RGBA{0x1e, 0x97, 0x8a, 0xff}, 1185 | color.RGBA{0x1e, 0x98, 0x8a, 0xff}, 1186 | color.RGBA{0x1e, 0x99, 0x8a, 0xff}, 1187 | color.RGBA{0x1e, 0x99, 0x8a, 0xff}, 1188 | color.RGBA{0x1e, 0x9a, 0x89, 0xff}, 1189 | color.RGBA{0x1e, 0x9b, 0x89, 0xff}, 1190 | color.RGBA{0x1e, 0x9c, 0x89, 0xff}, 1191 | color.RGBA{0x1e, 0x9d, 0x88, 0xff}, 1192 | color.RGBA{0x1e, 0x9e, 0x88, 0xff}, 1193 | color.RGBA{0x1e, 0x9f, 0x88, 0xff}, 1194 | color.RGBA{0x1e, 0xa0, 0x87, 0xff}, 1195 | color.RGBA{0x1f, 0xa1, 0x87, 0xff}, 1196 | color.RGBA{0x1f, 0xa2, 0x86, 0xff}, 1197 | color.RGBA{0x1f, 0xa3, 0x86, 0xff}, 1198 | color.RGBA{0x20, 0xa4, 0x85, 0xff}, 1199 | color.RGBA{0x20, 0xa5, 0x85, 0xff}, 1200 | color.RGBA{0x21, 0xa6, 0x85, 0xff}, 1201 | color.RGBA{0x21, 0xa7, 0x84, 0xff}, 1202 | color.RGBA{0x22, 0xa7, 0x84, 0xff}, 1203 | color.RGBA{0x23, 0xa8, 0x83, 0xff}, 1204 | color.RGBA{0x23, 0xa9, 0x82, 0xff}, 1205 | color.RGBA{0x24, 0xaa, 0x82, 0xff}, 1206 | color.RGBA{0x25, 0xab, 0x81, 0xff}, 1207 | color.RGBA{0x26, 0xac, 0x81, 0xff}, 1208 | color.RGBA{0x27, 0xad, 0x80, 0xff}, 1209 | color.RGBA{0x28, 0xae, 0x7f, 0xff}, 1210 | color.RGBA{0x29, 0xaf, 0x7f, 0xff}, 1211 | color.RGBA{0x2a, 0xb0, 0x7e, 0xff}, 1212 | color.RGBA{0x2b, 0xb1, 0x7d, 0xff}, 1213 | color.RGBA{0x2c, 0xb1, 0x7d, 0xff}, 1214 | color.RGBA{0x2e, 0xb2, 0x7c, 0xff}, 1215 | color.RGBA{0x2f, 0xb3, 0x7b, 0xff}, 1216 | color.RGBA{0x30, 0xb4, 0x7a, 0xff}, 1217 | color.RGBA{0x32, 0xb5, 0x7a, 0xff}, 1218 | color.RGBA{0x33, 0xb6, 0x79, 0xff}, 1219 | color.RGBA{0x35, 0xb7, 0x78, 0xff}, 1220 | color.RGBA{0x36, 0xb8, 0x77, 0xff}, 1221 | color.RGBA{0x38, 0xb9, 0x76, 0xff}, 1222 | color.RGBA{0x39, 0xb9, 0x76, 0xff}, 1223 | color.RGBA{0x3b, 0xba, 0x75, 0xff}, 1224 | color.RGBA{0x3d, 0xbb, 0x74, 0xff}, 1225 | color.RGBA{0x3e, 0xbc, 0x73, 0xff}, 1226 | color.RGBA{0x40, 0xbd, 0x72, 0xff}, 1227 | color.RGBA{0x42, 0xbe, 0x71, 0xff}, 1228 | color.RGBA{0x44, 0xbe, 0x70, 0xff}, 1229 | color.RGBA{0x45, 0xbf, 0x6f, 0xff}, 1230 | color.RGBA{0x47, 0xc0, 0x6e, 0xff}, 1231 | color.RGBA{0x49, 0xc1, 0x6d, 0xff}, 1232 | color.RGBA{0x4b, 0xc2, 0x6c, 0xff}, 1233 | color.RGBA{0x4d, 0xc2, 0x6b, 0xff}, 1234 | color.RGBA{0x4f, 0xc3, 0x69, 0xff}, 1235 | color.RGBA{0x51, 0xc4, 0x68, 0xff}, 1236 | color.RGBA{0x53, 0xc5, 0x67, 0xff}, 1237 | color.RGBA{0x55, 0xc6, 0x66, 0xff}, 1238 | color.RGBA{0x57, 0xc6, 0x65, 0xff}, 1239 | color.RGBA{0x59, 0xc7, 0x64, 0xff}, 1240 | color.RGBA{0x5b, 0xc8, 0x62, 0xff}, 1241 | color.RGBA{0x5e, 0xc9, 0x61, 0xff}, 1242 | color.RGBA{0x60, 0xc9, 0x60, 0xff}, 1243 | color.RGBA{0x62, 0xca, 0x5f, 0xff}, 1244 | color.RGBA{0x64, 0xcb, 0x5d, 0xff}, 1245 | color.RGBA{0x67, 0xcc, 0x5c, 0xff}, 1246 | color.RGBA{0x69, 0xcc, 0x5b, 0xff}, 1247 | color.RGBA{0x6b, 0xcd, 0x59, 0xff}, 1248 | color.RGBA{0x6d, 0xce, 0x58, 0xff}, 1249 | color.RGBA{0x70, 0xce, 0x56, 0xff}, 1250 | color.RGBA{0x72, 0xcf, 0x55, 0xff}, 1251 | color.RGBA{0x74, 0xd0, 0x54, 0xff}, 1252 | color.RGBA{0x77, 0xd0, 0x52, 0xff}, 1253 | color.RGBA{0x79, 0xd1, 0x51, 0xff}, 1254 | color.RGBA{0x7c, 0xd2, 0x4f, 0xff}, 1255 | color.RGBA{0x7e, 0xd2, 0x4e, 0xff}, 1256 | color.RGBA{0x81, 0xd3, 0x4c, 0xff}, 1257 | color.RGBA{0x83, 0xd3, 0x4b, 0xff}, 1258 | color.RGBA{0x86, 0xd4, 0x49, 0xff}, 1259 | color.RGBA{0x88, 0xd5, 0x47, 0xff}, 1260 | color.RGBA{0x8b, 0xd5, 0x46, 0xff}, 1261 | color.RGBA{0x8d, 0xd6, 0x44, 0xff}, 1262 | color.RGBA{0x90, 0xd6, 0x43, 0xff}, 1263 | color.RGBA{0x92, 0xd7, 0x41, 0xff}, 1264 | color.RGBA{0x95, 0xd7, 0x3f, 0xff}, 1265 | color.RGBA{0x97, 0xd8, 0x3e, 0xff}, 1266 | color.RGBA{0x9a, 0xd8, 0x3c, 0xff}, 1267 | color.RGBA{0x9d, 0xd9, 0x3a, 0xff}, 1268 | color.RGBA{0x9f, 0xd9, 0x38, 0xff}, 1269 | color.RGBA{0xa2, 0xda, 0x37, 0xff}, 1270 | color.RGBA{0xa5, 0xda, 0x35, 0xff}, 1271 | color.RGBA{0xa7, 0xdb, 0x33, 0xff}, 1272 | color.RGBA{0xaa, 0xdb, 0x32, 0xff}, 1273 | color.RGBA{0xad, 0xdc, 0x30, 0xff}, 1274 | color.RGBA{0xaf, 0xdc, 0x2e, 0xff}, 1275 | color.RGBA{0xb2, 0xdd, 0x2c, 0xff}, 1276 | color.RGBA{0xb5, 0xdd, 0x2b, 0xff}, 1277 | color.RGBA{0xb7, 0xdd, 0x29, 0xff}, 1278 | color.RGBA{0xba, 0xde, 0x27, 0xff}, 1279 | color.RGBA{0xbd, 0xde, 0x26, 0xff}, 1280 | color.RGBA{0xbf, 0xdf, 0x24, 0xff}, 1281 | color.RGBA{0xc2, 0xdf, 0x22, 0xff}, 1282 | color.RGBA{0xc5, 0xdf, 0x21, 0xff}, 1283 | color.RGBA{0xc7, 0xe0, 0x1f, 0xff}, 1284 | color.RGBA{0xca, 0xe0, 0x1e, 0xff}, 1285 | color.RGBA{0xcd, 0xe0, 0x1d, 0xff}, 1286 | color.RGBA{0xcf, 0xe1, 0x1c, 0xff}, 1287 | color.RGBA{0xd2, 0xe1, 0x1b, 0xff}, 1288 | color.RGBA{0xd4, 0xe1, 0x1a, 0xff}, 1289 | color.RGBA{0xd7, 0xe2, 0x19, 0xff}, 1290 | color.RGBA{0xda, 0xe2, 0x18, 0xff}, 1291 | color.RGBA{0xdc, 0xe2, 0x18, 0xff}, 1292 | color.RGBA{0xdf, 0xe3, 0x18, 0xff}, 1293 | color.RGBA{0xe1, 0xe3, 0x18, 0xff}, 1294 | color.RGBA{0xe4, 0xe3, 0x18, 0xff}, 1295 | color.RGBA{0xe7, 0xe4, 0x19, 0xff}, 1296 | color.RGBA{0xe9, 0xe4, 0x19, 0xff}, 1297 | color.RGBA{0xec, 0xe4, 0x1a, 0xff}, 1298 | color.RGBA{0xee, 0xe5, 0x1b, 0xff}, 1299 | color.RGBA{0xf1, 0xe5, 0x1c, 0xff}, 1300 | color.RGBA{0xf3, 0xe5, 0x1e, 0xff}, 1301 | color.RGBA{0xf6, 0xe6, 0x1f, 0xff}, 1302 | color.RGBA{0xf8, 0xe6, 0x21, 0xff}, 1303 | color.RGBA{0xfa, 0xe6, 0x22, 0xff}, 1304 | color.RGBA{0xfd, 0xe7, 0x24, 0xff}, 1305 | } 1306 | 1307 | // Twilight is a colormap 1308 | var Twilight = ColorMap{ 1309 | color.RGBA{0xe1, 0xd8, 0xe2, 0xff}, 1310 | color.RGBA{0xe1, 0xd8, 0xe2, 0xff}, 1311 | color.RGBA{0xe0, 0xd9, 0xe2, 0xff}, 1312 | color.RGBA{0xe0, 0xd9, 0xe1, 0xff}, 1313 | color.RGBA{0xdf, 0xd9, 0xe1, 0xff}, 1314 | color.RGBA{0xdf, 0xd9, 0xe1, 0xff}, 1315 | color.RGBA{0xde, 0xd9, 0xe0, 0xff}, 1316 | color.RGBA{0xdd, 0xd9, 0xe0, 0xff}, 1317 | color.RGBA{0xdd, 0xd9, 0xe0, 0xff}, 1318 | color.RGBA{0xdc, 0xd8, 0xdf, 0xff}, 1319 | color.RGBA{0xdb, 0xd8, 0xdf, 0xff}, 1320 | color.RGBA{0xda, 0xd8, 0xde, 0xff}, 1321 | color.RGBA{0xd9, 0xd8, 0xde, 0xff}, 1322 | color.RGBA{0xd9, 0xd7, 0xde, 0xff}, 1323 | color.RGBA{0xd8, 0xd7, 0xdd, 0xff}, 1324 | color.RGBA{0xd7, 0xd7, 0xdd, 0xff}, 1325 | color.RGBA{0xd6, 0xd6, 0xdc, 0xff}, 1326 | color.RGBA{0xd5, 0xd6, 0xdc, 0xff}, 1327 | color.RGBA{0xd4, 0xd6, 0xdb, 0xff}, 1328 | color.RGBA{0xd3, 0xd5, 0xdb, 0xff}, 1329 | color.RGBA{0xd2, 0xd5, 0xda, 0xff}, 1330 | color.RGBA{0xd0, 0xd4, 0xda, 0xff}, 1331 | color.RGBA{0xcf, 0xd4, 0xd9, 0xff}, 1332 | color.RGBA{0xce, 0xd3, 0xd8, 0xff}, 1333 | color.RGBA{0xcd, 0xd2, 0xd8, 0xff}, 1334 | color.RGBA{0xcb, 0xd2, 0xd7, 0xff}, 1335 | color.RGBA{0xca, 0xd1, 0xd7, 0xff}, 1336 | color.RGBA{0xc9, 0xd1, 0xd6, 0xff}, 1337 | color.RGBA{0xc7, 0xd0, 0xd6, 0xff}, 1338 | color.RGBA{0xc6, 0xcf, 0xd5, 0xff}, 1339 | color.RGBA{0xc5, 0xcf, 0xd4, 0xff}, 1340 | color.RGBA{0xc3, 0xce, 0xd4, 0xff}, 1341 | color.RGBA{0xc2, 0xcd, 0xd3, 0xff}, 1342 | color.RGBA{0xc0, 0xcd, 0xd3, 0xff}, 1343 | color.RGBA{0xbf, 0xcc, 0xd2, 0xff}, 1344 | color.RGBA{0xbd, 0xcb, 0xd2, 0xff}, 1345 | color.RGBA{0xbc, 0xca, 0xd1, 0xff}, 1346 | color.RGBA{0xba, 0xca, 0xd0, 0xff}, 1347 | color.RGBA{0xb9, 0xc9, 0xd0, 0xff}, 1348 | color.RGBA{0xb7, 0xc8, 0xcf, 0xff}, 1349 | color.RGBA{0xb6, 0xc7, 0xcf, 0xff}, 1350 | color.RGBA{0xb4, 0xc7, 0xce, 0xff}, 1351 | color.RGBA{0xb3, 0xc6, 0xce, 0xff}, 1352 | color.RGBA{0xb1, 0xc5, 0xcd, 0xff}, 1353 | color.RGBA{0xb0, 0xc4, 0xcd, 0xff}, 1354 | color.RGBA{0xae, 0xc4, 0xcc, 0xff}, 1355 | color.RGBA{0xad, 0xc3, 0xcc, 0xff}, 1356 | color.RGBA{0xab, 0xc2, 0xcc, 0xff}, 1357 | color.RGBA{0xaa, 0xc1, 0xcb, 0xff}, 1358 | color.RGBA{0xa8, 0xc0, 0xcb, 0xff}, 1359 | color.RGBA{0xa7, 0xc0, 0xca, 0xff}, 1360 | color.RGBA{0xa5, 0xbf, 0xca, 0xff}, 1361 | color.RGBA{0xa4, 0xbe, 0xca, 0xff}, 1362 | color.RGBA{0xa2, 0xbd, 0xc9, 0xff}, 1363 | color.RGBA{0xa1, 0xbc, 0xc9, 0xff}, 1364 | color.RGBA{0x9f, 0xbb, 0xc9, 0xff}, 1365 | color.RGBA{0x9e, 0xbb, 0xc8, 0xff}, 1366 | color.RGBA{0x9c, 0xba, 0xc8, 0xff}, 1367 | color.RGBA{0x9b, 0xb9, 0xc8, 0xff}, 1368 | color.RGBA{0x9a, 0xb8, 0xc7, 0xff}, 1369 | color.RGBA{0x98, 0xb7, 0xc7, 0xff}, 1370 | color.RGBA{0x97, 0xb6, 0xc7, 0xff}, 1371 | color.RGBA{0x96, 0xb5, 0xc6, 0xff}, 1372 | color.RGBA{0x94, 0xb4, 0xc6, 0xff}, 1373 | color.RGBA{0x93, 0xb4, 0xc6, 0xff}, 1374 | color.RGBA{0x92, 0xb3, 0xc6, 0xff}, 1375 | color.RGBA{0x90, 0xb2, 0xc5, 0xff}, 1376 | color.RGBA{0x8f, 0xb1, 0xc5, 0xff}, 1377 | color.RGBA{0x8e, 0xb0, 0xc5, 0xff}, 1378 | color.RGBA{0x8c, 0xaf, 0xc5, 0xff}, 1379 | color.RGBA{0x8b, 0xae, 0xc5, 0xff}, 1380 | color.RGBA{0x8a, 0xad, 0xc4, 0xff}, 1381 | color.RGBA{0x89, 0xac, 0xc4, 0xff}, 1382 | color.RGBA{0x88, 0xab, 0xc4, 0xff}, 1383 | color.RGBA{0x86, 0xab, 0xc4, 0xff}, 1384 | color.RGBA{0x85, 0xaa, 0xc4, 0xff}, 1385 | color.RGBA{0x84, 0xa9, 0xc3, 0xff}, 1386 | color.RGBA{0x83, 0xa8, 0xc3, 0xff}, 1387 | color.RGBA{0x82, 0xa7, 0xc3, 0xff}, 1388 | color.RGBA{0x81, 0xa6, 0xc3, 0xff}, 1389 | color.RGBA{0x80, 0xa5, 0xc3, 0xff}, 1390 | color.RGBA{0x7f, 0xa4, 0xc2, 0xff}, 1391 | color.RGBA{0x7e, 0xa3, 0xc2, 0xff}, 1392 | color.RGBA{0x7d, 0xa2, 0xc2, 0xff}, 1393 | color.RGBA{0x7c, 0xa1, 0xc2, 0xff}, 1394 | color.RGBA{0x7b, 0xa0, 0xc2, 0xff}, 1395 | color.RGBA{0x7a, 0x9f, 0xc2, 0xff}, 1396 | color.RGBA{0x79, 0x9e, 0xc1, 0xff}, 1397 | color.RGBA{0x78, 0x9d, 0xc1, 0xff}, 1398 | color.RGBA{0x77, 0x9c, 0xc1, 0xff}, 1399 | color.RGBA{0x76, 0x9b, 0xc1, 0xff}, 1400 | color.RGBA{0x75, 0x9a, 0xc1, 0xff}, 1401 | color.RGBA{0x74, 0x9a, 0xc1, 0xff}, 1402 | color.RGBA{0x73, 0x99, 0xc1, 0xff}, 1403 | color.RGBA{0x73, 0x98, 0xc0, 0xff}, 1404 | color.RGBA{0x72, 0x97, 0xc0, 0xff}, 1405 | color.RGBA{0x71, 0x96, 0xc0, 0xff}, 1406 | color.RGBA{0x70, 0x95, 0xc0, 0xff}, 1407 | color.RGBA{0x6f, 0x94, 0xc0, 0xff}, 1408 | color.RGBA{0x6f, 0x93, 0xc0, 0xff}, 1409 | color.RGBA{0x6e, 0x92, 0xbf, 0xff}, 1410 | color.RGBA{0x6d, 0x91, 0xbf, 0xff}, 1411 | color.RGBA{0x6d, 0x90, 0xbf, 0xff}, 1412 | color.RGBA{0x6c, 0x8f, 0xbf, 0xff}, 1413 | color.RGBA{0x6b, 0x8e, 0xbf, 0xff}, 1414 | color.RGBA{0x6b, 0x8d, 0xbf, 0xff}, 1415 | color.RGBA{0x6a, 0x8b, 0xbe, 0xff}, 1416 | color.RGBA{0x6a, 0x8a, 0xbe, 0xff}, 1417 | color.RGBA{0x69, 0x89, 0xbe, 0xff}, 1418 | color.RGBA{0x68, 0x88, 0xbe, 0xff}, 1419 | color.RGBA{0x68, 0x87, 0xbe, 0xff}, 1420 | color.RGBA{0x67, 0x86, 0xbe, 0xff}, 1421 | color.RGBA{0x67, 0x85, 0xbd, 0xff}, 1422 | color.RGBA{0x66, 0x84, 0xbd, 0xff}, 1423 | color.RGBA{0x66, 0x83, 0xbd, 0xff}, 1424 | color.RGBA{0x65, 0x82, 0xbd, 0xff}, 1425 | color.RGBA{0x65, 0x81, 0xbd, 0xff}, 1426 | color.RGBA{0x65, 0x80, 0xbc, 0xff}, 1427 | color.RGBA{0x64, 0x7f, 0xbc, 0xff}, 1428 | color.RGBA{0x64, 0x7e, 0xbc, 0xff}, 1429 | color.RGBA{0x64, 0x7d, 0xbc, 0xff}, 1430 | color.RGBA{0x63, 0x7c, 0xbb, 0xff}, 1431 | color.RGBA{0x63, 0x7b, 0xbb, 0xff}, 1432 | color.RGBA{0x63, 0x7a, 0xbb, 0xff}, 1433 | color.RGBA{0x62, 0x78, 0xbb, 0xff}, 1434 | color.RGBA{0x62, 0x77, 0xba, 0xff}, 1435 | color.RGBA{0x62, 0x76, 0xba, 0xff}, 1436 | color.RGBA{0x61, 0x75, 0xba, 0xff}, 1437 | color.RGBA{0x61, 0x74, 0xba, 0xff}, 1438 | color.RGBA{0x61, 0x73, 0xb9, 0xff}, 1439 | color.RGBA{0x61, 0x72, 0xb9, 0xff}, 1440 | color.RGBA{0x61, 0x71, 0xb9, 0xff}, 1441 | color.RGBA{0x60, 0x70, 0xb8, 0xff}, 1442 | color.RGBA{0x60, 0x6e, 0xb8, 0xff}, 1443 | color.RGBA{0x60, 0x6d, 0xb8, 0xff}, 1444 | color.RGBA{0x60, 0x6c, 0xb7, 0xff}, 1445 | color.RGBA{0x60, 0x6b, 0xb7, 0xff}, 1446 | color.RGBA{0x60, 0x6a, 0xb7, 0xff}, 1447 | color.RGBA{0x5f, 0x69, 0xb6, 0xff}, 1448 | color.RGBA{0x5f, 0x68, 0xb6, 0xff}, 1449 | color.RGBA{0x5f, 0x67, 0xb6, 0xff}, 1450 | color.RGBA{0x5f, 0x65, 0xb5, 0xff}, 1451 | color.RGBA{0x5f, 0x64, 0xb5, 0xff}, 1452 | color.RGBA{0x5f, 0x63, 0xb4, 0xff}, 1453 | color.RGBA{0x5f, 0x62, 0xb4, 0xff}, 1454 | color.RGBA{0x5f, 0x61, 0xb4, 0xff}, 1455 | color.RGBA{0x5f, 0x60, 0xb3, 0xff}, 1456 | color.RGBA{0x5f, 0x5e, 0xb3, 0xff}, 1457 | color.RGBA{0x5e, 0x5d, 0xb2, 0xff}, 1458 | color.RGBA{0x5e, 0x5c, 0xb2, 0xff}, 1459 | color.RGBA{0x5e, 0x5b, 0xb1, 0xff}, 1460 | color.RGBA{0x5e, 0x5a, 0xb1, 0xff}, 1461 | color.RGBA{0x5e, 0x59, 0xb0, 0xff}, 1462 | color.RGBA{0x5e, 0x57, 0xb0, 0xff}, 1463 | color.RGBA{0x5e, 0x56, 0xaf, 0xff}, 1464 | color.RGBA{0x5e, 0x55, 0xaf, 0xff}, 1465 | color.RGBA{0x5e, 0x54, 0xae, 0xff}, 1466 | color.RGBA{0x5e, 0x53, 0xad, 0xff}, 1467 | color.RGBA{0x5e, 0x51, 0xad, 0xff}, 1468 | color.RGBA{0x5e, 0x50, 0xac, 0xff}, 1469 | color.RGBA{0x5e, 0x4f, 0xac, 0xff}, 1470 | color.RGBA{0x5e, 0x4e, 0xab, 0xff}, 1471 | color.RGBA{0x5e, 0x4d, 0xaa, 0xff}, 1472 | color.RGBA{0x5e, 0x4b, 0xaa, 0xff}, 1473 | color.RGBA{0x5e, 0x4a, 0xa9, 0xff}, 1474 | color.RGBA{0x5d, 0x49, 0xa8, 0xff}, 1475 | color.RGBA{0x5d, 0x48, 0xa7, 0xff}, 1476 | color.RGBA{0x5d, 0x46, 0xa7, 0xff}, 1477 | color.RGBA{0x5d, 0x45, 0xa6, 0xff}, 1478 | color.RGBA{0x5d, 0x44, 0xa5, 0xff}, 1479 | color.RGBA{0x5d, 0x43, 0xa4, 0xff}, 1480 | color.RGBA{0x5d, 0x42, 0xa4, 0xff}, 1481 | color.RGBA{0x5d, 0x40, 0xa3, 0xff}, 1482 | color.RGBA{0x5d, 0x3f, 0xa2, 0xff}, 1483 | color.RGBA{0x5d, 0x3e, 0xa1, 0xff}, 1484 | color.RGBA{0x5c, 0x3d, 0xa0, 0xff}, 1485 | color.RGBA{0x5c, 0x3c, 0x9f, 0xff}, 1486 | color.RGBA{0x5c, 0x3a, 0x9e, 0xff}, 1487 | color.RGBA{0x5c, 0x39, 0x9d, 0xff}, 1488 | color.RGBA{0x5c, 0x38, 0x9c, 0xff}, 1489 | color.RGBA{0x5c, 0x37, 0x9b, 0xff}, 1490 | color.RGBA{0x5c, 0x35, 0x9a, 0xff}, 1491 | color.RGBA{0x5b, 0x34, 0x99, 0xff}, 1492 | color.RGBA{0x5b, 0x33, 0x98, 0xff}, 1493 | color.RGBA{0x5b, 0x32, 0x97, 0xff}, 1494 | color.RGBA{0x5b, 0x31, 0x96, 0xff}, 1495 | color.RGBA{0x5a, 0x30, 0x95, 0xff}, 1496 | color.RGBA{0x5a, 0x2e, 0x94, 0xff}, 1497 | color.RGBA{0x5a, 0x2d, 0x92, 0xff}, 1498 | color.RGBA{0x5a, 0x2c, 0x91, 0xff}, 1499 | color.RGBA{0x59, 0x2b, 0x90, 0xff}, 1500 | color.RGBA{0x59, 0x2a, 0x8f, 0xff}, 1501 | color.RGBA{0x59, 0x29, 0x8d, 0xff}, 1502 | color.RGBA{0x58, 0x28, 0x8c, 0xff}, 1503 | color.RGBA{0x58, 0x27, 0x8b, 0xff}, 1504 | color.RGBA{0x57, 0x25, 0x89, 0xff}, 1505 | color.RGBA{0x57, 0x24, 0x88, 0xff}, 1506 | color.RGBA{0x57, 0x23, 0x86, 0xff}, 1507 | color.RGBA{0x56, 0x22, 0x85, 0xff}, 1508 | color.RGBA{0x56, 0x21, 0x83, 0xff}, 1509 | color.RGBA{0x55, 0x21, 0x82, 0xff}, 1510 | color.RGBA{0x55, 0x20, 0x80, 0xff}, 1511 | color.RGBA{0x54, 0x1f, 0x7f, 0xff}, 1512 | color.RGBA{0x53, 0x1e, 0x7d, 0xff}, 1513 | color.RGBA{0x53, 0x1d, 0x7c, 0xff}, 1514 | color.RGBA{0x52, 0x1c, 0x7a, 0xff}, 1515 | color.RGBA{0x52, 0x1b, 0x78, 0xff}, 1516 | color.RGBA{0x51, 0x1b, 0x77, 0xff}, 1517 | color.RGBA{0x50, 0x1a, 0x75, 0xff}, 1518 | color.RGBA{0x50, 0x19, 0x73, 0xff}, 1519 | color.RGBA{0x4f, 0x19, 0x72, 0xff}, 1520 | color.RGBA{0x4e, 0x18, 0x70, 0xff}, 1521 | color.RGBA{0x4d, 0x17, 0x6e, 0xff}, 1522 | color.RGBA{0x4d, 0x17, 0x6c, 0xff}, 1523 | color.RGBA{0x4c, 0x16, 0x6b, 0xff}, 1524 | color.RGBA{0x4b, 0x16, 0x69, 0xff}, 1525 | color.RGBA{0x4a, 0x15, 0x67, 0xff}, 1526 | color.RGBA{0x49, 0x15, 0x66, 0xff}, 1527 | color.RGBA{0x49, 0x15, 0x64, 0xff}, 1528 | color.RGBA{0x48, 0x14, 0x62, 0xff}, 1529 | color.RGBA{0x47, 0x14, 0x60, 0xff}, 1530 | color.RGBA{0x46, 0x13, 0x5f, 0xff}, 1531 | color.RGBA{0x45, 0x13, 0x5d, 0xff}, 1532 | color.RGBA{0x44, 0x13, 0x5b, 0xff}, 1533 | color.RGBA{0x44, 0x12, 0x5a, 0xff}, 1534 | color.RGBA{0x43, 0x12, 0x58, 0xff}, 1535 | color.RGBA{0x42, 0x12, 0x57, 0xff}, 1536 | color.RGBA{0x41, 0x12, 0x55, 0xff}, 1537 | color.RGBA{0x40, 0x11, 0x54, 0xff}, 1538 | color.RGBA{0x3f, 0x11, 0x52, 0xff}, 1539 | color.RGBA{0x3e, 0x11, 0x51, 0xff}, 1540 | color.RGBA{0x3e, 0x11, 0x4f, 0xff}, 1541 | color.RGBA{0x3d, 0x11, 0x4e, 0xff}, 1542 | color.RGBA{0x3c, 0x11, 0x4c, 0xff}, 1543 | color.RGBA{0x3b, 0x11, 0x4b, 0xff}, 1544 | color.RGBA{0x3a, 0x10, 0x4a, 0xff}, 1545 | color.RGBA{0x3a, 0x10, 0x48, 0xff}, 1546 | color.RGBA{0x39, 0x10, 0x47, 0xff}, 1547 | color.RGBA{0x38, 0x10, 0x46, 0xff}, 1548 | color.RGBA{0x38, 0x10, 0x45, 0xff}, 1549 | color.RGBA{0x37, 0x10, 0x43, 0xff}, 1550 | color.RGBA{0x36, 0x10, 0x42, 0xff}, 1551 | color.RGBA{0x36, 0x10, 0x41, 0xff}, 1552 | color.RGBA{0x35, 0x10, 0x40, 0xff}, 1553 | color.RGBA{0x34, 0x10, 0x3f, 0xff}, 1554 | color.RGBA{0x34, 0x11, 0x3e, 0xff}, 1555 | color.RGBA{0x33, 0x11, 0x3d, 0xff}, 1556 | color.RGBA{0x33, 0x11, 0x3c, 0xff}, 1557 | color.RGBA{0x32, 0x11, 0x3b, 0xff}, 1558 | color.RGBA{0x32, 0x11, 0x3b, 0xff}, 1559 | color.RGBA{0x32, 0x11, 0x3a, 0xff}, 1560 | color.RGBA{0x31, 0x12, 0x39, 0xff}, 1561 | color.RGBA{0x30, 0x12, 0x38, 0xff}, 1562 | color.RGBA{0x30, 0x13, 0x37, 0xff}, 1563 | color.RGBA{0x2f, 0x13, 0x37, 0xff}, 1564 | color.RGBA{0x2f, 0x14, 0x36, 0xff}, 1565 | color.RGBA{0x2f, 0x13, 0x36, 0xff}, 1566 | color.RGBA{0x30, 0x13, 0x36, 0xff}, 1567 | color.RGBA{0x31, 0x12, 0x36, 0xff}, 1568 | color.RGBA{0x31, 0x12, 0x37, 0xff}, 1569 | color.RGBA{0x32, 0x12, 0x37, 0xff}, 1570 | color.RGBA{0x33, 0x11, 0x37, 0xff}, 1571 | color.RGBA{0x33, 0x11, 0x37, 0xff}, 1572 | color.RGBA{0x34, 0x11, 0x37, 0xff}, 1573 | color.RGBA{0x35, 0x11, 0x38, 0xff}, 1574 | color.RGBA{0x35, 0x11, 0x38, 0xff}, 1575 | color.RGBA{0x36, 0x11, 0x38, 0xff}, 1576 | color.RGBA{0x37, 0x11, 0x38, 0xff}, 1577 | color.RGBA{0x37, 0x11, 0x39, 0xff}, 1578 | color.RGBA{0x38, 0x11, 0x39, 0xff}, 1579 | color.RGBA{0x39, 0x11, 0x39, 0xff}, 1580 | color.RGBA{0x3a, 0x11, 0x3a, 0xff}, 1581 | color.RGBA{0x3b, 0x11, 0x3a, 0xff}, 1582 | color.RGBA{0x3c, 0x11, 0x3b, 0xff}, 1583 | color.RGBA{0x3d, 0x11, 0x3b, 0xff}, 1584 | color.RGBA{0x3e, 0x11, 0x3c, 0xff}, 1585 | color.RGBA{0x3f, 0x11, 0x3c, 0xff}, 1586 | color.RGBA{0x40, 0x11, 0x3c, 0xff}, 1587 | color.RGBA{0x41, 0x11, 0x3d, 0xff}, 1588 | color.RGBA{0x42, 0x11, 0x3d, 0xff}, 1589 | color.RGBA{0x43, 0x12, 0x3e, 0xff}, 1590 | color.RGBA{0x44, 0x12, 0x3f, 0xff}, 1591 | color.RGBA{0x45, 0x12, 0x3f, 0xff}, 1592 | color.RGBA{0x46, 0x12, 0x40, 0xff}, 1593 | color.RGBA{0x47, 0x12, 0x40, 0xff}, 1594 | color.RGBA{0x49, 0x12, 0x41, 0xff}, 1595 | color.RGBA{0x4a, 0x13, 0x41, 0xff}, 1596 | color.RGBA{0x4b, 0x13, 0x42, 0xff}, 1597 | color.RGBA{0x4c, 0x13, 0x42, 0xff}, 1598 | color.RGBA{0x4d, 0x13, 0x43, 0xff}, 1599 | color.RGBA{0x4f, 0x14, 0x43, 0xff}, 1600 | color.RGBA{0x50, 0x14, 0x44, 0xff}, 1601 | color.RGBA{0x51, 0x14, 0x44, 0xff}, 1602 | color.RGBA{0x52, 0x14, 0x45, 0xff}, 1603 | color.RGBA{0x54, 0x15, 0x45, 0xff}, 1604 | color.RGBA{0x55, 0x15, 0x46, 0xff}, 1605 | color.RGBA{0x56, 0x15, 0x46, 0xff}, 1606 | color.RGBA{0x58, 0x15, 0x47, 0xff}, 1607 | color.RGBA{0x59, 0x16, 0x47, 0xff}, 1608 | color.RGBA{0x5a, 0x16, 0x48, 0xff}, 1609 | color.RGBA{0x5c, 0x16, 0x48, 0xff}, 1610 | color.RGBA{0x5d, 0x17, 0x49, 0xff}, 1611 | color.RGBA{0x5e, 0x17, 0x49, 0xff}, 1612 | color.RGBA{0x5f, 0x17, 0x4a, 0xff}, 1613 | color.RGBA{0x61, 0x18, 0x4a, 0xff}, 1614 | color.RGBA{0x62, 0x18, 0x4b, 0xff}, 1615 | color.RGBA{0x63, 0x18, 0x4b, 0xff}, 1616 | color.RGBA{0x65, 0x19, 0x4b, 0xff}, 1617 | color.RGBA{0x66, 0x19, 0x4c, 0xff}, 1618 | color.RGBA{0x67, 0x19, 0x4c, 0xff}, 1619 | color.RGBA{0x69, 0x1a, 0x4c, 0xff}, 1620 | color.RGBA{0x6a, 0x1a, 0x4d, 0xff}, 1621 | color.RGBA{0x6b, 0x1a, 0x4d, 0xff}, 1622 | color.RGBA{0x6d, 0x1b, 0x4d, 0xff}, 1623 | color.RGBA{0x6e, 0x1b, 0x4e, 0xff}, 1624 | color.RGBA{0x6f, 0x1c, 0x4e, 0xff}, 1625 | color.RGBA{0x71, 0x1c, 0x4e, 0xff}, 1626 | color.RGBA{0x72, 0x1d, 0x4e, 0xff}, 1627 | color.RGBA{0x73, 0x1d, 0x4e, 0xff}, 1628 | color.RGBA{0x75, 0x1e, 0x4f, 0xff}, 1629 | color.RGBA{0x76, 0x1e, 0x4f, 0xff}, 1630 | color.RGBA{0x77, 0x1f, 0x4f, 0xff}, 1631 | color.RGBA{0x78, 0x1f, 0x4f, 0xff}, 1632 | color.RGBA{0x7a, 0x20, 0x4f, 0xff}, 1633 | color.RGBA{0x7b, 0x20, 0x4f, 0xff}, 1634 | color.RGBA{0x7c, 0x21, 0x4f, 0xff}, 1635 | color.RGBA{0x7d, 0x21, 0x50, 0xff}, 1636 | color.RGBA{0x7f, 0x22, 0x50, 0xff}, 1637 | color.RGBA{0x80, 0x23, 0x50, 0xff}, 1638 | color.RGBA{0x81, 0x23, 0x50, 0xff}, 1639 | color.RGBA{0x82, 0x24, 0x50, 0xff}, 1640 | color.RGBA{0x83, 0x25, 0x50, 0xff}, 1641 | color.RGBA{0x84, 0x25, 0x50, 0xff}, 1642 | color.RGBA{0x86, 0x26, 0x50, 0xff}, 1643 | color.RGBA{0x87, 0x27, 0x50, 0xff}, 1644 | color.RGBA{0x88, 0x28, 0x50, 0xff}, 1645 | color.RGBA{0x89, 0x28, 0x50, 0xff}, 1646 | color.RGBA{0x8a, 0x29, 0x50, 0xff}, 1647 | color.RGBA{0x8b, 0x2a, 0x50, 0xff}, 1648 | color.RGBA{0x8c, 0x2b, 0x50, 0xff}, 1649 | color.RGBA{0x8d, 0x2c, 0x50, 0xff}, 1650 | color.RGBA{0x8f, 0x2c, 0x50, 0xff}, 1651 | color.RGBA{0x90, 0x2d, 0x50, 0xff}, 1652 | color.RGBA{0x91, 0x2e, 0x50, 0xff}, 1653 | color.RGBA{0x92, 0x2f, 0x4f, 0xff}, 1654 | color.RGBA{0x93, 0x30, 0x4f, 0xff}, 1655 | color.RGBA{0x94, 0x31, 0x4f, 0xff}, 1656 | color.RGBA{0x95, 0x32, 0x4f, 0xff}, 1657 | color.RGBA{0x96, 0x32, 0x4f, 0xff}, 1658 | color.RGBA{0x97, 0x33, 0x4f, 0xff}, 1659 | color.RGBA{0x98, 0x34, 0x4f, 0xff}, 1660 | color.RGBA{0x99, 0x35, 0x4f, 0xff}, 1661 | color.RGBA{0x9a, 0x36, 0x4f, 0xff}, 1662 | color.RGBA{0x9a, 0x37, 0x4f, 0xff}, 1663 | color.RGBA{0x9b, 0x38, 0x4f, 0xff}, 1664 | color.RGBA{0x9c, 0x39, 0x4f, 0xff}, 1665 | color.RGBA{0x9d, 0x3a, 0x4f, 0xff}, 1666 | color.RGBA{0x9e, 0x3b, 0x4f, 0xff}, 1667 | color.RGBA{0x9f, 0x3c, 0x4f, 0xff}, 1668 | color.RGBA{0xa0, 0x3d, 0x4f, 0xff}, 1669 | color.RGBA{0xa1, 0x3e, 0x4f, 0xff}, 1670 | color.RGBA{0xa2, 0x3f, 0x4f, 0xff}, 1671 | color.RGBA{0xa2, 0x40, 0x4f, 0xff}, 1672 | color.RGBA{0xa3, 0x41, 0x4f, 0xff}, 1673 | color.RGBA{0xa4, 0x42, 0x4f, 0xff}, 1674 | color.RGBA{0xa5, 0x43, 0x4f, 0xff}, 1675 | color.RGBA{0xa6, 0x44, 0x4f, 0xff}, 1676 | color.RGBA{0xa7, 0x45, 0x4f, 0xff}, 1677 | color.RGBA{0xa7, 0x46, 0x4f, 0xff}, 1678 | color.RGBA{0xa8, 0x47, 0x50, 0xff}, 1679 | color.RGBA{0xa9, 0x49, 0x50, 0xff}, 1680 | color.RGBA{0xaa, 0x4a, 0x50, 0xff}, 1681 | color.RGBA{0xaa, 0x4b, 0x50, 0xff}, 1682 | color.RGBA{0xab, 0x4c, 0x50, 0xff}, 1683 | color.RGBA{0xac, 0x4d, 0x50, 0xff}, 1684 | color.RGBA{0xad, 0x4e, 0x50, 0xff}, 1685 | color.RGBA{0xad, 0x4f, 0x50, 0xff}, 1686 | color.RGBA{0xae, 0x50, 0x51, 0xff}, 1687 | color.RGBA{0xaf, 0x51, 0x51, 0xff}, 1688 | color.RGBA{0xaf, 0x52, 0x51, 0xff}, 1689 | color.RGBA{0xb0, 0x54, 0x51, 0xff}, 1690 | color.RGBA{0xb1, 0x55, 0x51, 0xff}, 1691 | color.RGBA{0xb2, 0x56, 0x52, 0xff}, 1692 | color.RGBA{0xb2, 0x57, 0x52, 0xff}, 1693 | color.RGBA{0xb3, 0x58, 0x52, 0xff}, 1694 | color.RGBA{0xb3, 0x59, 0x52, 0xff}, 1695 | color.RGBA{0xb4, 0x5a, 0x53, 0xff}, 1696 | color.RGBA{0xb5, 0x5b, 0x53, 0xff}, 1697 | color.RGBA{0xb5, 0x5d, 0x53, 0xff}, 1698 | color.RGBA{0xb6, 0x5e, 0x54, 0xff}, 1699 | color.RGBA{0xb6, 0x5f, 0x54, 0xff}, 1700 | color.RGBA{0xb7, 0x60, 0x54, 0xff}, 1701 | color.RGBA{0xb8, 0x61, 0x55, 0xff}, 1702 | color.RGBA{0xb8, 0x62, 0x55, 0xff}, 1703 | color.RGBA{0xb9, 0x64, 0x56, 0xff}, 1704 | color.RGBA{0xb9, 0x65, 0x56, 0xff}, 1705 | color.RGBA{0xba, 0x66, 0x57, 0xff}, 1706 | color.RGBA{0xba, 0x67, 0x57, 0xff}, 1707 | color.RGBA{0xbb, 0x68, 0x57, 0xff}, 1708 | color.RGBA{0xbb, 0x6a, 0x58, 0xff}, 1709 | color.RGBA{0xbc, 0x6b, 0x59, 0xff}, 1710 | color.RGBA{0xbc, 0x6c, 0x59, 0xff}, 1711 | color.RGBA{0xbd, 0x6d, 0x5a, 0xff}, 1712 | color.RGBA{0xbd, 0x6e, 0x5a, 0xff}, 1713 | color.RGBA{0xbe, 0x70, 0x5b, 0xff}, 1714 | color.RGBA{0xbe, 0x71, 0x5b, 0xff}, 1715 | color.RGBA{0xbf, 0x72, 0x5c, 0xff}, 1716 | color.RGBA{0xbf, 0x73, 0x5d, 0xff}, 1717 | color.RGBA{0xc0, 0x74, 0x5d, 0xff}, 1718 | color.RGBA{0xc0, 0x76, 0x5e, 0xff}, 1719 | color.RGBA{0xc0, 0x77, 0x5f, 0xff}, 1720 | color.RGBA{0xc1, 0x78, 0x60, 0xff}, 1721 | color.RGBA{0xc1, 0x79, 0x60, 0xff}, 1722 | color.RGBA{0xc2, 0x7b, 0x61, 0xff}, 1723 | color.RGBA{0xc2, 0x7c, 0x62, 0xff}, 1724 | color.RGBA{0xc2, 0x7d, 0x63, 0xff}, 1725 | color.RGBA{0xc3, 0x7e, 0x64, 0xff}, 1726 | color.RGBA{0xc3, 0x7f, 0x65, 0xff}, 1727 | color.RGBA{0xc3, 0x81, 0x66, 0xff}, 1728 | color.RGBA{0xc4, 0x82, 0x67, 0xff}, 1729 | color.RGBA{0xc4, 0x83, 0x68, 0xff}, 1730 | color.RGBA{0xc4, 0x84, 0x69, 0xff}, 1731 | color.RGBA{0xc5, 0x86, 0x6a, 0xff}, 1732 | color.RGBA{0xc5, 0x87, 0x6b, 0xff}, 1733 | color.RGBA{0xc5, 0x88, 0x6c, 0xff}, 1734 | color.RGBA{0xc6, 0x89, 0x6d, 0xff}, 1735 | color.RGBA{0xc6, 0x8b, 0x6e, 0xff}, 1736 | color.RGBA{0xc6, 0x8c, 0x6f, 0xff}, 1737 | color.RGBA{0xc7, 0x8d, 0x70, 0xff}, 1738 | color.RGBA{0xc7, 0x8e, 0x71, 0xff}, 1739 | color.RGBA{0xc7, 0x8f, 0x72, 0xff}, 1740 | color.RGBA{0xc7, 0x91, 0x74, 0xff}, 1741 | color.RGBA{0xc8, 0x92, 0x75, 0xff}, 1742 | color.RGBA{0xc8, 0x93, 0x76, 0xff}, 1743 | color.RGBA{0xc8, 0x94, 0x78, 0xff}, 1744 | color.RGBA{0xc9, 0x96, 0x79, 0xff}, 1745 | color.RGBA{0xc9, 0x97, 0x7a, 0xff}, 1746 | color.RGBA{0xc9, 0x98, 0x7b, 0xff}, 1747 | color.RGBA{0xc9, 0x99, 0x7d, 0xff}, 1748 | color.RGBA{0xca, 0x9b, 0x7e, 0xff}, 1749 | color.RGBA{0xca, 0x9c, 0x80, 0xff}, 1750 | color.RGBA{0xca, 0x9d, 0x81, 0xff}, 1751 | color.RGBA{0xca, 0x9e, 0x83, 0xff}, 1752 | color.RGBA{0xcb, 0x9f, 0x84, 0xff}, 1753 | color.RGBA{0xcb, 0xa1, 0x85, 0xff}, 1754 | color.RGBA{0xcb, 0xa2, 0x87, 0xff}, 1755 | color.RGBA{0xcc, 0xa3, 0x89, 0xff}, 1756 | color.RGBA{0xcc, 0xa4, 0x8a, 0xff}, 1757 | color.RGBA{0xcc, 0xa5, 0x8c, 0xff}, 1758 | color.RGBA{0xcc, 0xa7, 0x8d, 0xff}, 1759 | color.RGBA{0xcd, 0xa8, 0x8f, 0xff}, 1760 | color.RGBA{0xcd, 0xa9, 0x90, 0xff}, 1761 | color.RGBA{0xcd, 0xaa, 0x92, 0xff}, 1762 | color.RGBA{0xce, 0xab, 0x94, 0xff}, 1763 | color.RGBA{0xce, 0xac, 0x95, 0xff}, 1764 | color.RGBA{0xce, 0xae, 0x97, 0xff}, 1765 | color.RGBA{0xcf, 0xaf, 0x99, 0xff}, 1766 | color.RGBA{0xcf, 0xb0, 0x9a, 0xff}, 1767 | color.RGBA{0xcf, 0xb1, 0x9c, 0xff}, 1768 | color.RGBA{0xd0, 0xb2, 0x9e, 0xff}, 1769 | color.RGBA{0xd0, 0xb3, 0x9f, 0xff}, 1770 | color.RGBA{0xd1, 0xb4, 0xa1, 0xff}, 1771 | color.RGBA{0xd1, 0xb6, 0xa3, 0xff}, 1772 | color.RGBA{0xd1, 0xb7, 0xa4, 0xff}, 1773 | color.RGBA{0xd2, 0xb8, 0xa6, 0xff}, 1774 | color.RGBA{0xd2, 0xb9, 0xa8, 0xff}, 1775 | color.RGBA{0xd3, 0xba, 0xa9, 0xff}, 1776 | color.RGBA{0xd3, 0xbb, 0xab, 0xff}, 1777 | color.RGBA{0xd3, 0xbc, 0xad, 0xff}, 1778 | color.RGBA{0xd4, 0xbd, 0xaf, 0xff}, 1779 | color.RGBA{0xd4, 0xbe, 0xb0, 0xff}, 1780 | color.RGBA{0xd5, 0xbf, 0xb2, 0xff}, 1781 | color.RGBA{0xd5, 0xc0, 0xb4, 0xff}, 1782 | color.RGBA{0xd6, 0xc1, 0xb5, 0xff}, 1783 | color.RGBA{0xd6, 0xc2, 0xb7, 0xff}, 1784 | color.RGBA{0xd7, 0xc3, 0xb9, 0xff}, 1785 | color.RGBA{0xd7, 0xc4, 0xbb, 0xff}, 1786 | color.RGBA{0xd8, 0xc5, 0xbc, 0xff}, 1787 | color.RGBA{0xd8, 0xc6, 0xbe, 0xff}, 1788 | color.RGBA{0xd8, 0xc7, 0xc0, 0xff}, 1789 | color.RGBA{0xd9, 0xc8, 0xc1, 0xff}, 1790 | color.RGBA{0xd9, 0xc9, 0xc3, 0xff}, 1791 | color.RGBA{0xda, 0xca, 0xc4, 0xff}, 1792 | color.RGBA{0xda, 0xcb, 0xc6, 0xff}, 1793 | color.RGBA{0xdb, 0xcc, 0xc8, 0xff}, 1794 | color.RGBA{0xdb, 0xcd, 0xc9, 0xff}, 1795 | color.RGBA{0xdb, 0xce, 0xcb, 0xff}, 1796 | color.RGBA{0xdc, 0xce, 0xcc, 0xff}, 1797 | color.RGBA{0xdc, 0xcf, 0xcd, 0xff}, 1798 | color.RGBA{0xdd, 0xd0, 0xcf, 0xff}, 1799 | color.RGBA{0xdd, 0xd1, 0xd0, 0xff}, 1800 | color.RGBA{0xdd, 0xd1, 0xd1, 0xff}, 1801 | color.RGBA{0xde, 0xd2, 0xd3, 0xff}, 1802 | color.RGBA{0xde, 0xd3, 0xd4, 0xff}, 1803 | color.RGBA{0xde, 0xd3, 0xd5, 0xff}, 1804 | color.RGBA{0xdf, 0xd4, 0xd6, 0xff}, 1805 | color.RGBA{0xdf, 0xd5, 0xd7, 0xff}, 1806 | color.RGBA{0xdf, 0xd5, 0xd8, 0xff}, 1807 | color.RGBA{0xdf, 0xd6, 0xd9, 0xff}, 1808 | color.RGBA{0xe0, 0xd6, 0xda, 0xff}, 1809 | color.RGBA{0xe0, 0xd6, 0xdb, 0xff}, 1810 | color.RGBA{0xe0, 0xd7, 0xdc, 0xff}, 1811 | color.RGBA{0xe0, 0xd7, 0xdd, 0xff}, 1812 | color.RGBA{0xe1, 0xd7, 0xdd, 0xff}, 1813 | color.RGBA{0xe1, 0xd8, 0xde, 0xff}, 1814 | color.RGBA{0xe1, 0xd8, 0xdf, 0xff}, 1815 | color.RGBA{0xe1, 0xd8, 0xdf, 0xff}, 1816 | color.RGBA{0xe1, 0xd8, 0xe0, 0xff}, 1817 | color.RGBA{0xe1, 0xd8, 0xe1, 0xff}, 1818 | color.RGBA{0xe1, 0xd8, 0xe1, 0xff}, 1819 | } 1820 | -------------------------------------------------------------------------------- /example/example1.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "julia" 5 | ) 6 | 7 | func julia1(z complex128) complex128 { 8 | c := complex(-0.1, 0.651) 9 | 10 | z = z*z + c 11 | 12 | return z 13 | } 14 | 15 | func main() { 16 | j := julia.NewJulia(800, 800, 1.5, 1.5, 800, 40, julia1) 17 | j.Generative(julia.Inferno) 18 | j.ToPng("julia4.png") 19 | } 20 | -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- 1 | module julia 2 | 3 | go 1.14 4 | -------------------------------------------------------------------------------- /images/julia1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jdxyw/julia/c2a61692957579e117e95648e95602bdc126f5a0/images/julia1.png -------------------------------------------------------------------------------- /images/julia2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jdxyw/julia/c2a61692957579e117e95648e95602bdc126f5a0/images/julia2.png -------------------------------------------------------------------------------- /images/julia3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jdxyw/julia/c2a61692957579e117e95648e95602bdc126f5a0/images/julia3.png -------------------------------------------------------------------------------- /images/julia4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jdxyw/julia/c2a61692957579e117e95648e95602bdc126f5a0/images/julia4.png -------------------------------------------------------------------------------- /julia.go: -------------------------------------------------------------------------------- 1 | //Package julia provides interface to draw a julia set with customize complementary sets and color map. 2 | package julia 3 | 4 | import ( 5 | "image" 6 | "image/jpeg" 7 | "image/png" 8 | "math/cmplx" 9 | "os" 10 | ) 11 | 12 | // GenFunc defines a func type used by julia set. 13 | type GenFunc func(complex128) complex128 14 | 15 | type julia struct { 16 | // h, w is the image height and width in pixels. 17 | h, w int 18 | // x and y represent the range of values for the real and imaginary parts. 19 | x, y float64 20 | // maxz defines the maximum length of a complex number. 21 | maxz float64 22 | fn GenFunc 23 | // iter indicates the maximum number of iterations. 24 | iter int 25 | img *image.RGBA 26 | } 27 | 28 | // NewJulia returns a julia struct. 29 | func NewJulia(h, w int, x, y float64, iter int, z float64, fn GenFunc) *julia { 30 | return &julia{ 31 | h: h, 32 | w: w, 33 | x: x, 34 | y: y, 35 | fn: fn, 36 | iter: iter, 37 | maxz: z, 38 | img: image.NewRGBA(image.Rect(0, 0, h, w)), 39 | } 40 | } 41 | 42 | // CleanImage clean the image and create a new RGBA object. 43 | func (j *julia) CleanImage() { 44 | j.img = nil 45 | j.img = image.NewRGBA(image.Rect(0, 0, j.h, j.w)) 46 | } 47 | 48 | // Generative draws the julia set with specified color map. 49 | func (j *julia) Generative(cm ColorMap) { 50 | 51 | n := len(cm) 52 | if n > 255 { 53 | n = 255 54 | } 55 | 56 | for i := 0; i <= j.w; i++ { 57 | for k := 0; k <= j.h; k++ { 58 | nit := 0 59 | z := complex(float64(i)/float64(j.w)*2.0*j.x-j.x, float64(k)/float64(j.h)*2.0*j.y-j.y) 60 | 61 | for cmplx.Abs(z) <= j.maxz && nit < j.iter { 62 | z = j.fn(z) 63 | nit += 1 64 | } 65 | idx := uint8(nit*255/j.iter) % uint8(n) 66 | j.img.Set(i, k, cm[idx]) 67 | } 68 | } 69 | } 70 | 71 | // ToPng saves the image to local with PNG format. 72 | func (j *julia) ToPng(path string) error { 73 | f, err := os.Create(path) 74 | if err != nil { 75 | return err 76 | } 77 | if err := png.Encode(f, j.img); err != nil { 78 | f.Close() 79 | return err 80 | } 81 | 82 | if err := f.Close(); err != nil { 83 | return err 84 | } 85 | 86 | return nil 87 | } 88 | 89 | // ToJpeg saves the image to local with Jpeg format. 90 | func (j *julia) ToJpeg(path string) error { 91 | f, err := os.Create(path) 92 | if err != nil { 93 | return err 94 | } 95 | if err := jpeg.Encode(f, j.img, nil); err != nil { 96 | f.Close() 97 | return err 98 | } 99 | 100 | if err := f.Close(); err != nil { 101 | return err 102 | } 103 | 104 | return nil 105 | } 106 | --------------------------------------------------------------------------------