Как улучшить качество печатного текста после использования «graphics.DrawString»?
У меня проблема с качеством текста после печати! это не гладко и сглаживает!
Это история:
Я создаю графику из растрового изображения (Graphics.FromImage(MyBitmap)) а такжеI think it's the start point of my problem because I can't use PrintPageEvenArg(e) , but I have no other choice!
после этого я начинаю писать текст на этом рисунке:
Читая ответы на аналогичные Вопросы на этом сайте и некоторые другие, я внес некоторые изменения в свои графические свойства, такие как smoothingMode, TextRenderingHint, ... которые вы увидите в дальнейшем ... но, к сожалению, ни один из них не помог мне!
SolidBrush sb = new SolidBrush(Color.White);
graphics.FillRectangle(sb,oRectangle); //it was suggested to be done before antialiases inorder to get effects
graphics.TextRenderingHint = TextRenderingHint.AntiAlias; //I also tried ClearTypeGridFit
graphics.SmoothingMode =
System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
graphics.InterpolationMode = InterpolationMode.HighQualityBicubic;
graphics.PixelOffsetMode = PixelOffsetMode.HighQuality;
graphics.CompositingQuality = CompositingQuality.HighQuality;
graphics.CompositingMode = CompositingQuality.SourceOver;
graphics.DrawString(strValue, boxStyle.Font, sb, oRectangle, StringFormat);
благодаря сглаживанию у меня получился более плавный край, но я вижу много лишнего пикселя рядом с текстом, и мой цвет текста кажется более светлым, поэтому я могу сказать, что при сглаживании края качество моего текста даже ухудшилось!
Пожалуйста, помогите мне! Спасибо заранее :)