Thaddy, while the technical nuances of rendering and coordinate systems are important, our main focus here is on providing QuinnMartin with the best tools for their project. BGRABitmap offers a versatile solution that incorporates floating-point values for greater precision in visual rendering, for example when specifying line width. It seems to align well with QuinnMartin's requirements.
I would not want newcomers to be put off by unsolicited debate. In the rendering process, at some point, fractional sizes are translated into whole pixels using all the available colors, like with antialiasing. From the user perspective, the values are indeed fractional and QuinnMartin's statement is correct. Using integer values would not yield the same visual result.
The rasterization process though is a subject I find fascinating. Programming such a library gave me insights that would be interesting to talk about. For example, a width of 0.5 is similar to an opacity of 50% but it is not quite the same. And a line, even if rendered without antialising, will not be the same if provided with floating-point coordinates instead of integers as it changes the Bresenham algorithm.