func (c SRGBnA8) Linear() (r, g, b, a float32) {
	a = float32(c.A) / float32(0xFF)
	r = a * linearOf(float32(c.R)/float32(0xFF))
	g = a * linearOf(float32(c.G)/float32(0xFF))
	b = a * linearOf(float32(c.B)/float32(0xFF))
	return r, g, b, a
}
//////////////////////////////////////////////////////////////////////////////
Linear implements the Colour interface.
package color
type SRGBnA8 struct {
	R uint8
	G uint8
	B uint8
	A uint8
}
func SRGBnA8of(c Color) SRGBnA8 {
	cc, ok := c.(SRGBnA8)
	if ok {
		return cc
	}
	r, g, b, a := c.Linear()
	r = standardOf(r / a)
	g = standardOf(g / a)
	b = standardOf(b / a)
	return SRGBnA8{uint8(r * 0xFF), uint8(g * 0xFF), uint8(b * 0xFF), uint8(a * 0xFF)}
}