3

打印后我的文字质量有问题!它不平滑和抗锯齿!

这是故事:

我从位图( Graphics.FromImage(MyBitmap))创建了一个图形,我认为这是我的问题的起点,因为我不能使用 PrintPageEvenArg(e) ,但我别无选择!

之后我开始在这个图形上写一些文字:

通过阅读本网站和其他一些类似问题的答案,我对我的图形属性进行了一些更改,例如 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);

通过抗锯齿,我得到了更好的平滑边缘,但我看到我的文本附近有很多额外的像素,我的文本颜色似乎变得更亮,所以我可以说通过平滑边缘我的文本质量甚至变得更糟!

请帮帮我!提前谢谢:)

4

1 回答 1

3

尝试使用此解决方案(GraphicsPath)。在我的项目中效果很好。

于 2012-07-25T12:17:08.223 回答