mtsatellite/tilemapper/colors.go
2014-09-09 17:48:39 +02:00

41 lines
763 B
Go

// Copyright 2014 by Sascha L. Teichmann
// Use of this source code is governed by the MIT license
// that can be found in the LICENSE file.
package main
import (
"bufio"
"fmt"
"image/color"
"os"
"strings"
)
func ParseColors(filename string) (colors map[string]color.RGBA, err error) {
var file *os.File
if file, err = os.Open(filename); err != nil {
return
}
defer file.Close()
colors = make(map[string]color.RGBA)
scanner := bufio.NewScanner(file)
for scanner.Scan() {
line := scanner.Text()
if strings.HasPrefix(line, "#") {
continue
}
c := color.RGBA{A: 0xff}
var name string
if n, _ := fmt.Sscanf(
line, "%s %d %d %d %d", &name, &c.R, &c.G, &c.B, &c.A); n > 0 {
colors[name] = c
}
}
err = scanner.Err()
return
}