2020-09-08 15:58:35 -04:00
|
|
|
package d2util
|
2020-08-05 21:27:45 -04:00
|
|
|
|
|
|
|
import "image/color"
|
|
|
|
|
2020-10-22 02:41:21 -04:00
|
|
|
// Color converts an rgba uint32 to a color.RGBA
|
2020-08-05 21:27:45 -04:00
|
|
|
func Color(rgba uint32) color.RGBA {
|
|
|
|
result := color.RGBA{}
|
|
|
|
a, b, g, r := 0, 1, 2, 3
|
|
|
|
byteWidth := 8
|
|
|
|
byteMask := 0xff
|
|
|
|
|
|
|
|
for idx := 0; idx < 4; idx++ {
|
|
|
|
shift := idx * byteWidth
|
|
|
|
component := uint8(rgba>>shift) & uint8(byteMask)
|
|
|
|
|
|
|
|
switch idx {
|
|
|
|
case a:
|
|
|
|
result.A = component
|
|
|
|
case b:
|
|
|
|
result.B = component
|
|
|
|
case g:
|
|
|
|
result.G = component
|
|
|
|
case r:
|
|
|
|
result.R = component
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
return result
|
|
|
|
}
|