思路:把需要打印的图片保存到本地看看,如果保存到本地也是小和模糊,那么就是图片本身的问题。这里就不仔细说明如何打印的代码了。我们先看看有锯齿的代码是怎么样写的。
首先我将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);
然后打印机出来就没有锯齿,非常好看了。