使用google的zxing类生成一维码、二维码实例
2012-12-31 08:34
549 查看
条形码在生活中使用的已经相当广泛了,不管是去书店买书,还是去超市买商品,都会用到条码,而且每一个条码中的信息都不尽相同,每一类的商品都有统一的条码,当然条码的类型也有不同,比如有标准的UPC条码,也有Code39,Code128,EAN8等等好多好多。这些根据不同的需要而被广泛使用。
最近根据项目的需求,用了一段时间对一维码、二维码进行了小小的研究,在一篇Blog中看到使用了google的zxing生成二维码,好奇之下自己做了一个小Demo。
生成一维码
生成二维码
C#代码
最近根据项目的需求,用了一段时间对一维码、二维码进行了小小的研究,在一篇Blog中看到使用了google的zxing生成二维码,好奇之下自己做了一个小Demo。
生成一维码
生成二维码
C#代码
#region 引用程序集 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using com.google.zxing.qrcode; using com.google.zxing; using com.google.zxing.common; using ByteMatrix = com.google.zxing.common.ByteMatrix; using EAN13Writer = com.google.zxing.oned.EAN13Writer; using EAN8Writer = com.google.zxing.oned.EAN8Writer; using MultiFormatWriter = com.google.zxing.MultiFormatWriter; #endregion namespace qr { public partial class Form1 : Form { public Form1() { // 初始化组件 InitializeComponent(); } // public static void writeToFile(ByteMatrix matrix, System.Drawing.Imaging.ImageFormat format, string file) //{ // Bitmap bmap = toBitmap(matrix); // bmap.Save(file, format); //} /// <summary> /// 绘制一维码、二维码位图 /// </summary> /// <param name="matrix"></param> /// <returns></returns> public static Bitmap toBitmap(ByteMatrix matrix) { // 定义位图的款和高 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("0xFF000000") : ColorTranslator.FromHtml("0xFFFFFFFF")); } } return bmap; } private void button1_Click_1(object sender, EventArgs e) { string content = textBox1.Text; int codeWidth = Convert.ToInt16(txtWidth.Text.Trim().ToString()); int codeHeight = Convert.ToInt16(txtHeight.Text.Trim().ToString()); // 生成二维码 ByteMatrix byteMatrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, codeWidth, codeHeight); Bitmap bitmap = toBitmap(byteMatrix); pictureBox1.Image = bitmap; //writeToFile(byteMatrix, System.Drawing.Imaging.ImageFormat.Png, sFD.FileName); //SaveFileDialog sFD = new SaveFileDialog(); //sFD.DefaultExt = "*.png|*.png"; //sFD.AddExtension = true; //try //{ // if (sFD.ShowDialog() == DialogResult.OK) // { // } //} //catch (Exception ex) //{ // MessageBox.Show(ex.Message); //} } private void button2_Click(object sender, EventArgs e) { string content = textBox1.Text; // 生成一维码 ByteMatrix byteMatrix = new MultiFormatWriter().encode(content, BarcodeFormat.EAN_8, 200, 100); Bitmap bitmap = toBitmap(byteMatrix); pictureBox1.Image = bitmap; //Bitmap twobitmap = new Bitmap(bitmap.Width ,bitmap.Height); //Graphics g = Graphics.FromImage(bitmap); //g.DrawString(content, Font, Brushes.Black, pictureBox1.); //pictureBox1.Image = bitmap; } } }这里用到了google的zxing类,简单的举了两个例子,一是二维码,一是EAN_8的一维码。通过测试,均可以识别。
相关文章推荐
- 使用google的zxing类生成一维码、二维码实例
- 使用google的zxing类生成一维码、二维码实例
- 使用zxing包生成和扫描二维码和一维码
- Java中使用google.zxing快捷生成二维码(附工具类源码)
- 使用google的zxing生成二维码
- 使用google的zxing工具在jsp页面中生成二维码以及带logo图标的二维码
- 使用Google的Zxing生成二维码图片
- java二维码生成-谷歌(Google.zxing)开源二维码生成的实例及介绍
- Android及Java使用google.zxing生成和解码(解析)二维码(QRCode)
- 使用google的zxing生成二维码
- Java 二维码生成和解析的简单实现(谷歌Google.zxing)
- java 使用zxing 生成二维码
- Android使用二维码之_zxing生成二维码
- .NET使用ZXing.NET生成中间带图片的二维码
- 使用zxing生成嵌图片的二维码,世海夺宝二维码,邀请码
- java生成二维码使用QRCode和ZXing两种方式
- 使用ZXing实现二维码的扫描和生成带logo的二维码
- Google开源项目二维码读取与生成工具ZXing
- Android基于Google Zxing生成二维码
- 利用googleZxing生成二维码识别二维码