public void DrawText(Point location, Size size, string text, Font font, float fontSize, Color color, HorizontalAlignment horizontalAlignment, VerticalAlignment verticalAlignment) { using (var drawFont = CreateFont(font, fontSize)) { var rectangle = new RectangleF(location.ToPointF(), size.ToSizeF()); using (var stringFormat = new StringFormat()) { stringFormat.Alignment = horizontalAlignment.ToStringAlignment(); stringFormat.LineAlignment = verticalAlignment.ToStringAlignment(); using (var brush = new SolidBrush(System.Drawing.Color.FromArgb(color.A, color.R, color.G, color.B))) { string stringToDraw = ReplaceLineBreaks(text); m_Graphics.DrawString(stringToDraw, drawFont, brush, rectangle, stringFormat); } } } }