概述
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 生成二维码模糊所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复