diff --git a/src/Greenshot/Drawing/TextContainer.cs b/src/Greenshot/Drawing/TextContainer.cs
index 2a93b9d9d..ccaae042c 100644
--- a/src/Greenshot/Drawing/TextContainer.cs
+++ b/src/Greenshot/Drawing/TextContainer.cs
@@ -618,49 +618,6 @@ namespace Greenshot.Drawing
DrawText(graphics, rect, lineThickness, lineColor, drawShadow, _stringFormat, text, _font);
}
- ///
- /// Convert the StringFormat information into a TextFormatFlags
- /// This is important for the rending to work, have it aligned to the correct place
- ///
- /// StringFormat
- /// TextFormatFlags
- private static TextFormatFlags ConvertStringFormat(StringFormat stringFormat)
- {
- var flags = TextFormatFlags.TextBoxControl | TextFormatFlags.WordBreak;
- if (stringFormat == null)
- {
- return flags;
- }
-
- switch (stringFormat.LineAlignment)
- {
- case StringAlignment.Center:
- flags |= TextFormatFlags.VerticalCenter;
- break;
- case StringAlignment.Far:
- flags |= TextFormatFlags.Bottom;
- break;
- case StringAlignment.Near:
- flags |= TextFormatFlags.Top;
- break;
- }
-
- switch (stringFormat.Alignment)
- {
- case StringAlignment.Center:
- flags |= TextFormatFlags.HorizontalCenter;
- break;
- case StringAlignment.Far:
- flags |= TextFormatFlags.Right;
- break;
- case StringAlignment.Near:
- flags |= TextFormatFlags.Left;
- break;
- }
-
- return flags;
- }
-
///
/// This method can be used from other containers
///
@@ -699,8 +656,8 @@ namespace Greenshot.Drawing
{
shadowRect.Inflate(-textOffset, -textOffset);
}
-
- TextRenderer.DrawText(graphics, text, font, shadowRect, Color.FromArgb(alpha, 100, 100, 100), ConvertStringFormat(stringFormat));
+ using Brush fontBrush = new SolidBrush(Color.FromArgb(alpha, 100, 100, 100));
+ graphics.DrawString(text, font, fontBrush, shadowRect, stringFormat);
currentStep++;
alpha -= basealpha / steps;
@@ -711,8 +668,17 @@ namespace Greenshot.Drawing
{
drawingRectange.Inflate(-textOffset, -textOffset);
}
-
- TextRenderer.DrawText(graphics, text, font, drawingRectange, fontColor, ConvertStringFormat(stringFormat));
+ using (Brush fontBrush = new SolidBrush(fontColor))
+ {
+ if (stringFormat != null)
+ {
+ graphics.DrawString(text, font, fontBrush, drawingRectange, stringFormat);
+ }
+ else
+ {
+ graphics.DrawString(text, font, fontBrush, drawingRectange);
+ }
+ }
}
public override bool ClickableAt(int x, int y)