码迷,mamicode.com
首页 > Windows程序 > 详细

windows打印GDI+出现锯齿和虚化问题的解决方法

时间:2020-05-08 15:58:09      阅读:134      评论:0      收藏:0      [点我收藏+]

标签:style   font   height   col   ext   cat   from   字符   条形码   

在使用GDI+绘制并通过windows打印的过程中,如果使用的是针式打印机,经常出现打印出来的图像尤其是条码会出现锯齿的情况

技术图片

 

 

 然而只将图片保存下来查看却发现并没有锯齿

最初我以为是图像过小导致的,但是即便把图像进行放大,仍然无法解决问题,最终通过查阅资料发现在打印事件的Graphics绘制图像时

不能在图像的外层在进行一次绘制,否则就会出现锯齿

像如下代码就会出现锯齿

Image img = Barcode.Build(newText, 300, 300, Setting.ImgType);
                                //在二维码图片下追加二维码字符串 三个一截断便于车站退票识别条形码数字
Bitmap _ZoomBitmap = new Bitmap(Setting.Width, Setting.Height);
Graphics _Graphics = Graphics.FromImage(_ZoomBitmap);
_Graphics.DrawImage(img, 0, 0, _ZoomBitmap.Width, _ZoomBitmap.Height);
 _Graphics.Dispose();
Image newimag = DrawText(_ZoomBitmap, barcode, Setting.TextFont, Color.Black, 15);
g.DrawImage(newimag, Setting.Location.X, Setting.Location.Y, Setting.Width, Setting.Height);

像这种,在img外面又绘制了一层newimag,最终在打印事件的Graphics在绘制newimag就会出现锯齿

正确的做法如下

Image img = Barcode.Build(newText, 300, 300, Setting.ImgType);
g.DrawImage(img, Setting.Location.X, Setting.Location.Y, Setting.Width, Setting.Height);

 

windows打印GDI+出现锯齿和虚化问题的解决方法

标签:style   font   height   col   ext   cat   from   字符   条形码   

原文地址:https://www.cnblogs.com/zhangredli/p/12850792.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!