It seems there’s no way to individually set the colour components of PixelRGB and PixelARGB.
This is a shame, because the only efficient way to leverage the blend() and other functions is to cast a local array of uint[3] to a PixelRGB*, which looks like ass.
It’s not quite that simple - in PixelARGB the components are held inside a union via a struct, which is different from PixelRGB, so just exposing the members would be both messy and inconsistent in the different pixel classes.
How about an “inline uint8& getRed()” to return a reference you can write to?
I hate to bring up such a nitpick but would you be horribly opposed to adding another extra set of accessors using only the first letter (R, G, B) instead of the full colour name? i.e.