The font is very ugly

I draw a line using the following code:

public Image DrawString(String lString)
{
    Image lImage = new Bitmap(128, 128);
    Rectangle rec = new Rectangle(0, 0, lImage.Width, lImage.Height);

    Graphics g = Graphics.FromImage(lImage);
    g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.SingleBitPerPixelGridFit;

    drawFormat = new StringFormat();
    drawFormat.Alignment = StringAlignment.Center;
    drawFormat.LineAlignment = StringAlignment.Center;

    Font font = new Font("Arial", 20, FontStyle.Regular);
    font = FindBestFitFont(g, lString, font, rec.Size); 
    g.DrawString(lString, font, Brushes.Red, rec, drawFormat);

    return lImage;
}

The font looks very ugly even when I use:

g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.SingleBitPerPixelGridFit;

Is there a way to make the font smoother?

+3
source share
2 answers

Try

g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias;

instead.

+7
source

Have you tried AntiAliasing or ClearType?

g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.ClearTypeGridFit;
+1
source

Source: https://habr.com/ru/post/1786123/


All Articles