Simple enough. Your using the instance of the
System.Drawing.Graphics
class obtained from the event arguments of the
System.Windows.Control.Paint
event. The coordinate system in this case in defined by current client area of the control and the coordinate system origin is placed in the top left corner of this area with positive directions going right and down.
This coordinate system can be transformed by assigning the property
System.Drawing.Graphics.Transform
, see
http://msdn.microsoft.com/en-us/library/system.drawing.graphics.transform.aspx[
^].
For detailed explanation and examples of transform matrices and coordinate systems see
http://msdn.microsoft.com/en-us/library/aa1hw2kk.aspx[
^].
A client coordinate can be converted to a screen coordinate system and back using methods
System.Windows.Forms.Control.PointToScreen
and
System.Windows.Forms.Control.PointToClient
, see
http://msdn.microsoft.com/en-us/library/system.windows.forms.control.aspx[
^].
I don't understand how anything could be messed-up here, as it is easy to see even from experiments. I also don't quite understand the title of the questions. All coordinate systems are "real enough".
—SA