因为条形码有不同的编码格式,使用时要注意编码格式。首先在 NuGet包管理器中引用下载BarcodeLib.dll文件。BarcodeLib.dll一维条码库,支持以下条码格式:UPC-A,UPC-E,UPC 2 Digit Ext,UPC 5 Digit Ext.,EAN-13,JAN-13,EAN-8,ITF-14,Codabar,PostNet,Bookland/ISBN,Code 11,Code 39,Code 39 Extended,Code 93,LOGMARS,MSI,Interleaved 2 of 5,Standard 2 of 5,Code 128,Code 128-A,Code 128-B,Code 128-C,Telepen ;

要执行的方法下:

System.Drawing.Image image;
int width = 148, height = 55;
string fileSavePath = AppDomain.CurrentDomain.BaseDirectory + "BarcodePattern.jpg";
if (File.Exists(fileSavePath)) File.Delete(fileSavePath);
GetBarcode(height, width, BarcodeLib.TYPE.CODE128//编码格式
, "要编码的数据", out image, fileSavePath);
pictureBox1.Image = Image.FromFile("BarcodePattern.jpg"); 

注意要改的参数

public static void GetBarcode(int height, int width, BarcodeLib.TYPE type, string code, out System.Drawing.Image image, string fileSaveUrl)
{ try { image = null; BarcodeLib.Barcode b = new BarcodeLib.Barcode(); b.BackColor = System.Drawing.Color.White;//图片背景颜色 b.ForeColor = System.Drawing.Color.Black;//条码颜色 b.IncludeLabel = true; b.Alignment = BarcodeLib.AlignmentPositions.LEFT; b.LabelPosition = BarcodeLib.LabelPositions.BOTTOMCENTER; b.ImageFormat = System.Drawing.Imaging.ImageFormat.Jpeg;//图片格式 System.Drawing.Font font = new System.Drawing.Font("verdana", 10f);//字体设置 b.LabelFont = font; b.Height = height;//图片高度设置(px单位) b.Width = width;//图片宽度设置(px单位) image = b.Encode(type, code);//生成图片 image.Save(fileSaveUrl, System.Drawing.Imaging.ImageFormat.Jpeg);} catch (Exception ex) { image = null; }
}

借鉴于挣脱生命的束缚:http://www.cnblogs.com/qqhfeng/p/4240597.html
详细的讲解:http://www.barcodelib.com/net_barcode/main.html

  二维码

适用于WinForm ,需要引用 zxing.dll文件  下载地址:http://pan.baidu.com/s/1ntNr79v

注意要引用的文件,空间
using com.google.zxing;
using COMMON = com.google.zxing.common;

代码如下:

private void BtnBm_Click(object sender, EventArgs e)  //生成二维码{if (string.IsNullOrEmpty(this.textBox1.Text.Trim())){MessageBox.Show("请输入需要转换的信息!");}else{string content = this.textBox1.Text;//待编码数据try{int QSize = Int32.Parse(txtSize.Text);//二维码大小string s = hScrollBar1.Value.ToString("X");//二维码透明度string q = hScrollBar2.Value.ToString("X");//背景透明度string Scolor = "0x" + s + txtYSe.Text;//二维码颜色string Qcolor = "0x" + q + txtBys.Text;//背景颜色COMMON.ByteMatrix byteMatrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, QSize, QSize);Bitmap bt = toBitmap(byteMatrix, Scolor, Qcolor);pictureBox1.Image = bt;}catch (Exception ex){MessageBox.Show(ex.Message);}}}public static Bitmap toBitmap(COMMON.ByteMatrix matrix, string scolor, string qcolor){int width = matrix.Width;int height = matrix.Height;Bitmap bmap = new Bitmap(width, height, System.Drawing.Imaging.PixelFormat.Format32bppArgb);for (int x = 0; x < width; x++){for (int y = 0; y < height; y++){bmap.SetPixel(x, y, matrix.get_Renamed(x, y) != -1 ? ColorTranslator.FromHtml(scolor) : ColorTranslator.FromHtml(qcolor));}}return bmap;}private void BtnSave_Click(object sender, EventArgs e) //保存{Image img = pictureBox1.Image;if (img != null){SaveFileDialog sFD = new SaveFileDialog();sFD.Filter = "*.png|*.png";if (sFD.ShowDialog() == DialogResult.OK){Bitmap bmap = new Bitmap(img, img.Width, img.Height);bmap.Save(sFD.FileName);MessageBox.Show("保存成功!");}}else{MessageBox.Show("您还没有生成二维码!");}}private void BtnJm_Click(object sender, EventArgs e) //读码解码{if (this.openFileDialog1.ShowDialog() != DialogResult.OK){return;}Bitmap bmap;try{Image img = Image.FromFile(this.openFileDialog1.FileName);bmap = new Bitmap(img);if (bmap == null){MessageBox.Show("解码错误,请确保二维码图片已打开!");return;}}catch{MessageBox.Show("解码错误,请确保图片格式正确!");return;}LuminanceSource source = new RGBLuminanceSource(bmap, bmap.Width, bmap.Height);com.google.zxing.BinaryBitmap bitmap = new com.google.zxing.BinaryBitmap(new COMMON.HybridBinarizer(source));Result result;try{result = new MultiFormatReader().decode(bitmap);}catch{string str = "解码失败,失败原因可能是:" + "\n";str += "1.您打开的图片非二维码图片!" + "\n";str += "2.您打开的二维码图片背景色太深!" + "\n";str += "3.您打开的二维码图片二维码和背景色太接近!" + "\n";MessageBox.Show(str);return;}textBox1.Text = result.Text;}

文章参考:https://www.cnblogs.com/xuhang/p/3831776.html,大家有时间可以去看看!

转载于:https://www.cnblogs.com/Ghajini-x/p/10565780.html

简单了解条形码,二维码的生成相关推荐

  1. 条形码/二维码的生成并打印

    JsBarcode生成条形码 //js <script src="./js/jquery-1.4.4.min.js"></script> <scrip ...

  2. Java 生成二维码 zxing生成二维码 条形码 服务端生成二维码 Java生成条形码

    Java 生成二维码 zxing生成二维码 条形码 服务端生成二维码 Java生成条形码 一.关于ZXing 1.ZXing是谷歌开源的支持二维码.条形码 等图形的生成类库:支持生成.和解码功能. G ...

  3. 个人用户永久免费,可自动升级版Excel插件,使用VSTO开发,Excel催化剂功能第12波-快速生成、读取、导出条形码二维码...

    根据指定的内容生成对应的条形码或二维码,在如今移动互联网时代,并不是一件什么新鲜事,随便百度一下,都能找到好多的软件或在线网站可以帮我们做到,但细想一下,如果很偶然地只是生成一个两这样的图形,百度一下 ...

  4. [Android开源]一个非常简单易用用来花式展示二维码样式生成的库QRCodeStyle

    类库说明 一个非常简单易用用来花式展示二维码样式生成的库 自由组合二维码样式 使用范例 设置带圆边圈的logo Bitmap logo = BitmapFactory.decodeResource(g ...

  5. JS生成条形码/二维码 barcode.js、JsBarcode

    JS生成条形码/二维码 barcode.JsBarcode JsBarcode Barcode.js 以下代码均非纯原创.新手小白.网上一搜一大把的概念也不写了,直接上可运行的代码及遇到的小坑. Js ...

  6. 条形码/二维码生成探索

    条形码/二维码生成探索 所用依赖 <!--条形码生成依赖(轻量型,推荐使用这个)(生成条码的同时会把信息生成到条形码下)--><dependency><groupId&g ...

  7. 如何生成二维码?生成二维码其实很简单

    如何生成二维码?在日常的工作学习中我们总是会接触到各种各样的二维码,比如支付宝收款码.公众号主页码.广告宣传码等等.有一些二维码我们直接保存就可以,但是有一些二维码却需要我们自己进行制作.下面小编就来 ...

  8. 二维码(生成二维码和扫描二维码)超简单 超简易

    二维码(生成二维码和扫描二维码)Zxing 例: 配置权限: 项目下的 build.gradle 文件里加入,7.0版本以后可能会转入settings.gradle文件 pluginManagemen ...

  9. 二维码的生成细节和原理

    转自:http://coolshell.cn/articles/10590.html#jtss-tsina 陈皓 二维码又称QR Code,QR全称Quick Response,是一个近几年来移动设备 ...

  10. 【C#】最全单据打印(打印模板、条形码二维码、字体样式、项目源码)

    系列文章 [C#]编号生成器(定义单号规则.固定字符.流水号.业务单号) 本文链接:https://blog.csdn.net/youcheng_ge/article/details/12912978 ...

最新文章

  1. boost::bind的使用
  2. php下载文件代码详解,php将远超文件下载到本地的示例代码详解
  3. boost::push_front相关的测试程序
  4. bind()、call()、apply()理解及用法
  5. oracle record 遍历,ORACLE中RECORD、VARRAY、TABLE的使用详解
  6. 编写一个函数,计算下式当n=10和n=100的值。
  7. SpringMVC 使用注解时控制器传参
  8. hbase 学习(十二)非mapreduce生成Hfile,然后导入hbase当中
  9. pytorch学习:运行Mask R-CNN例程
  10. 大数据理论与实践9 分布式数据仓库Inceptor
  11. Maven的介绍与安装步骤
  12. 一个小小的笔顺程序,按钮太多,暂时实现了两个
  13. VUE实现市、区二级联动
  14. 删除微云同步助手计算机快捷访问,腾讯微云同步助手使用说明:设置同步文件,方便随时查看...
  15. 扫 雷 小 游 戏
  16. linux 保存文件名乱码怎么办,Linux 文件名编码转换 乱码 解决办法
  17. 老师教我们用计算机画画就是彩虹,上海一年级语文课文
  18. TIDB-分布式关系型数据库讲解
  19. 计算机发展历史的感想
  20. 郭德纲新宠香奈儿 大牌造型盘点

热门文章

  1. java: 程序包com.sun.xml.internal.ws.api.ha不存在
  2. 大龄程序员没有出路吗?
  3. 关于网站广告被拦截说明
  4. 三星note10+5G (韩版9825)DL模式提示OEM Lock: ON(U)的解决方案
  5. 小程序修改服务器域名多久生效,小程序 服务器域名配置多久生效
  6. 什么是AP,胖瘦AP如何区分?
  7. 该内存不能为read的解决办法:内存不能为read修复工具
  8. 激光器仿真:(7)半导体+波导混合锁模激光器
  9. CSS Doodle 生成器
  10. Matlab 函数的参数列表中有多个省略号(…)是什么意思?