ZXing 生成二维码模糊

VS调用ZXing生成DATA_MATRIX二维码,打印出来有些模糊,找了半天原因,才发现:
生成图片太小,渲染到一个大的矩形后,图片放大,因此变得模糊,一定注意设置参数的单位问题

     EncodingOptions options = new DatamatrixEncodingOptions();
     options.Margin = 1;
     options.Height = 148;
     options.Width = 148;
     options.PureBarcode = true;
     options.Hints.Add(EncodeHintType.CHARACTER_SET, "utf-8");//编码格式
     options.Hints.Add(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);//容错类型
     options.Hints.Add(EncodeHintType.DATA_MATRIX_SHAPE, SymbolShapeHint.FORCE_SQUARE);

     ZXing.BarcodeWriter wrMatrix = new BarcodeWriter();
     wrMatrix.Format = BarcodeFormat.DATA_MATRIX;
     wrMatrix.Options = options;    
     Bitmap matrixCode = wrMatrix.Write(strLeft);//strLeft 二维码数据
     Rectangle descRectLeft = new Rectangle((int)(3 / 0.254), (int)(37 / 0.254), (int)(36 / 0.254), (int)(36 / 0.254));//矩形左上角定点坐标 X,Y坐标   36mm的正方形
     e.Graphics.DrawImage(matrixCode, descRectLeft);
                

补充 20220721测试

上述代码测试生成的二维码大小为24mmx24mm,后调整options.Height和Width的值,当为480,二维码大小为36x36,但是清晰度还是不够,然后调整值,依次测试,500x500,600x600,1000x1000,1200x1200,1500x1500,1800x1800,2400x2400,测试过程中设置1500二维码清晰,识别度较高。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值