Rendern Sie Antialias-Text mit TextRenderer C #

Sep 21 2020

Ich habe ein Programm geschrieben, um eine Zeichenfolge auf ein Bild zu zeichnen. Ich benutze graphics.DrawString()aber wie Sie in diesem Beitrag sehen können, hat es einige Probleme.
TextRenderer.DrawText()Das Problem wurde behoben, aber der gerenderte Text ist gezackt. Ich habe sowohl die graphics.TextRenderingHintAuflösung als auch die Auflösung der Grafiken geändert . TextRendererkümmert sich überhaupt nicht.
Es sollte eine Lösung geben, wie es hier gemacht wird ; aber ich weiß nicht wie es geht.

Antworten

IanBoyd Sep 23 2020 at 18:53
        private void panel1_Paint(object sender, PaintEventArgs e)
        {
            //GDI (i.e. TextRenderer)
            String s = "The quick brown fox jumped over the lazy dog";
            Point origin = new Point(11, 11);
            Font font = SystemFonts.IconTitleFont;

            e.Graphics.TextRenderingHint = TextRenderingHint.SingleBitPerPixel;

            TextRenderer.DrawText(e.Graphics, s, font, origin, SystemColors.InfoText);
        }

Vollständige Demo, die zeigt, dass es funktioniert :https://mega.nz/file/E3xREYIR#kuDxyac_0jxlX7wuTVmZmJgClEicdaCj0YpnE83Wq9k