C#使用Zxing打印二维码产生锯齿怎么办

思路:把需要打印的图片保存到本地看看,如果保存到本地也是小和模糊,那么就是图片本身的问题。这里就不仔细说明如何打印的代码了。我们先看看有锯齿的代码是怎么样写的。

首先我将Zxing生成的Image包装成我需要的尺寸的新的Image,然后传入画出来,代码如下

 Image qrCode = new Bitmap(pb_qrcode.Image, qrCodeSize, qrCodeSize);
//由于DrawImage需要一个大小的参数,于是我又把Size传入
 e.Graphics.DrawImage(qrCode, qrCodeX, qrCodeY, qrCodeSize, qrCodeSize);

这样打印出来的二维码如下

经过排查后,我决定直接将Zxing生成的二维码Image直接传入到DrawIamge,代码如下

e.Graphics.TextRenderingHint = TextRenderingHint.AntiAlias;

e.Graphics.SmoothingMode = SmoothingMode.HighQuality;

e.Graphics.DrawImage(pb_qrcode.Image, qrCodeX, qrCodeY, qrCodeSize, qrCodeSize);

然后打印机出来就没有锯齿,非常好看了。

原文地址:https://www.cnblogs.com/linfenghp/p/14047928.html