lazarus/formats/dat/dat.go

32 lines
511 B
Go
Raw Normal View History

2018-12-16 22:09:18 +00:00
package dat
import (
"encoding/binary"
imageColor "image/color"
2018-12-16 22:09:18 +00:00
"io"
)
type Palette struct {
Colors [256]imageColor.NRGBA
}
type color struct {
B byte
G byte
R byte
2018-12-16 22:09:18 +00:00
}
func NewFromReader(reader io.Reader) (*Palette, error) {
var colors [256]color
if err := binary.Read(reader, binary.LittleEndian, &colors); err != nil {
2018-12-16 22:09:18 +00:00
return nil, err
}
palette := new(Palette)
for i, color := range colors {
palette.Colors[i] = imageColor.NRGBA{color.R, color.G, color.B, 0xff}
}
return palette, nil
2018-12-16 22:09:18 +00:00
}