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二维码清晰,识别度较高。
最后
以上就是忧伤电脑最近收集整理的关于ZXing 生成二维码模糊的全部内容,更多相关ZXing内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复