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

2021-03-06 19:26

阅读:505

标签: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


评论


亲,登录后才可以留言!