C#一例繪制字體不清晰的解決辦法


public static Bitmap GetPieWithText(String text, Color color, Color fontColor,Font font)
{
    int size = 22;
    Bitmap bmp = new Bitmap(size, size);
    Graphics g = Graphics.FromImage(bmp);
    g.SmoothingMode = SmoothingMode.AntiAlias; //使繪圖質量最高,即消除鋸齒
    g.InterpolationMode = InterpolationMode.HighQualityBicubic;
    g.CompositingQuality = CompositingQuality.HighQuality;
    g.TextRenderingHint = TextRenderingHint.ClearTypeGridFit;
    g.FillPie(new SolidBrush(color), new Rectangle(0, 0, size-1, size - 1), 0, 360);
    g.SmoothingMode = SmoothingMode.Default;
    g.InterpolationMode = InterpolationMode.Default;
    g.CompositingQuality = CompositingQuality.Default;
    StringFormat stringFormat = new StringFormat();
    stringFormat.Alignment = StringAlignment.Center;
    if (text.ToString().Length == 2)
    {
        g.DrawString(text.ToString(), font, new SolidBrush(fontColor), new Rectangle(0, 0, size-1, size - 1), stringFormat);
    }
    else
        g.DrawString(text.ToString(), font, new SolidBrush(fontColor), new Rectangle(0, 0, size - 1, size - 1), stringFormat);

    return bmp;
}

首先使用以上代碼解決,一直沒有解決問題,后來調整了繪制區區域大小size解決了問題,供大家參考。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM