I want the origin to be at the center of my window.
______________ | ^ | | | | | o----->| | | |____________|
.NET wan
You can continue using ScaleTransform(1, -1) and reset the current transformation temporarily while drawing your text:
// Convert the text alignment point (x, y) to pixel coordinates
PointF[] pt = new PointF[] { new PointF(x, y) };
graphics.TransformPoints(CoordinateSpace.Device, CoordinateSpace.World, pt);
// Revert transformation to identity while drawing text
Matrix oldMatrix = graphics.Transform;
graphics.ResetTransform();
// Draw in pixel coordinates
graphics.DrawString(text, font, brush, pt[0]);
// Restore old transformation
graphics.Transform = oldMatrix;