办公设备维修网
资讯中心 您所在的位置:网站首页 资讯中心 C#生成与识别条形码、二维码示例 zxing、 barcodelib生成条形码 code128B等 无白边 自动宽度

C#生成与识别条形码、二维码示例 zxing、 barcodelib生成条形码 code128B等 无白边 自动宽度

2024-06-26 13:14:01| 来源: 网络整理

用到的库:BarcodeLib,ZXing.Net

zxing.net也可以生成条形码code128,我没找到生成code128B的,所以用barcodelib生成条形码,其它都用zxing.net。

调用示例: //生成条形码 并 识别条形码Image imageBarcode = GetBarcode(rectBarcode.Width, rectBarcode.Height, TYPE.CODE128, sn);Bitmap map = new Bitmap(imageBarcode); //Image转为BitmapLog(DecodeQRCode(map));Bitmap qrcode = GenerateQRCode(qrcodeText, bmp.Width* 19 / 25, bmp.Height * 19 / 25);qrcode.SetResolution(600, 600); //设置每英寸多少个分辨率,默认是97Log("识别二维码内容为【"+DecodeQRCode(qrcode)+"】");  使用示例:

 注意这个b.BarWidth = (int)width; //自动调整条形码宽度 

/** *生成条形码 */ public static Image GetBarcode(float width, float height, TYPE type, string code) { Image image = null; try { Barcode b = new Barcode(); b.BackColor = Color.White;//图片背景颜色 b.ForeColor = Color.Black;//条码颜色 b.IncludeLabel = false; //不带文字标签 b.BarWidth = (int)width; //自动调整条形码宽度 //b.Alignment = AlignmentPositions.CENTER; //b.LabelPosition = LabelPositions.BOTTOMCENTER;//code的显示位置 //b.ImageFormat = System.Drawing.Imaging.ImageFormat.Bmp;//图片格式 //Font font = new Font("Arial", 10);//字体设置 //b.LabelFont = font; b.Height = (int)height;//图片高度设置(px单位) b.Width = (int)width;//图片宽度设置(px单位) image = b.Encode(type, code);//生成图片 image.Save("Barcode.bmp", System.Drawing.Imaging.ImageFormat.Bmp); return image; } catch (Exception ex) { return null; } } /// /// 生成二维码 /// /// 内容 /// 宽度 /// 高度 /// public static Bitmap GenerateQRCode(string text, int width, int height) { BarcodeWriter writer = new BarcodeWriter(); writer.Format = BarcodeFormat.QR_CODE; QrCodeEncodingOptions options = new QrCodeEncodingOptions() { //DisableECI = true,//设置内容编码 //CharacterSet = "UTF-8", Width = width, //设置二维码的宽度和高度 Height = height, Margin = 0//设置二维码的边距,单位不是固定像素 }; writer.Options = options; Bitmap map = writer.Write(text); return map; } /// /// 解码条形码、二维码 /// /// 待解码的条形码、二维码图片 /// 扫码结果 public static string DecodeQRCode(Bitmap barcodeBitmap) { BarcodeReader reader = new BarcodeReader(); //reader.Options.CharacterSet = "UTF-8"; var result = reader.Decode(barcodeBitmap); return (result == null) ? null : result.Text; }


【本文地址】 转载请注明 

最新文章

推荐文章

CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备16040606号-1