C#生成二维码(QR码)

发布网友 发布时间:2022-04-23 01:48

我来回答

4个回答

热心网友 时间:2022-04-27 10:56

C# 二维码的代码:

using Spire.Barcode;

using System.Drawing;

namespace CreateQRCode

{

class Program

{

static void Main(string[] args)

{

//创建BarcodeSettings对象

BarcodeSettings settings = new BarcodeSettings();

//应用Key,去logo

BarcodeSettings.ApplyKey("4KRJD-1K294-JJG9Z-SNR36-3P7IU");

settings.Type = BarCodeType.QRCode;//设置条码类型为二维码       

settings.Data = "1234567";//设置二维码数据                       

settings.Data2D = "1234567";//设置显示文本

settings.ShowText = false;//设置二维码数据文本不显示

/*settings.ShowText = true;//显示数据文本

settings.ShowTextOnBottom = true;//数据文本显示在二维码底部*/

settings.QRCodeDataMode = QRCodeDataMode.Numeric;//设置数据类型为数字

settings.QRCodeECL = QRCodeECL.H;//设置二维码错误修正级别                    

settings.X = 3.0f;//设置宽度            

BarCodeGenerator generator = new BarCodeGenerator(settings);//实例化BarCodeGenerator类的对象

//生成二维码图片并保存为PNG格式

Image image = generator.GenerateImage();

image.Save("QRCode.png");

}

}

}

这里的实现方法借助专门的barcode生成根据spire.barcode for .net提供的类以及方法,解析二维码可以参考如下代码:

using System;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using Spire.Barcode;

namespace ScanBarcode{
public partial class Form1 : Form    {
public Form1()
{
InitializeComponent();
}

private void btnLoadImage_Click(object sender, EventArgs e)
{
//加载条形码图片
Image image = Image.FromFile("Code128.png");
pictureBox1.Image = image;
}

private void btnReadData_Click(object sender, EventArgs e)
{
Bitmap bitmap = new Bitmap(pictureBox1.Image);

//识别条形码图片中的数据(BarcodeScanner类包含多个Scan重载方法,可根据自己的需求选择相应的方法)
string[] data = BarcodeScanner.Scan(bitmap, BarCodeType.Code128);

for (int i = 0; i < data.Length; i++)
{
this.textBox1.Text += data[i].ToString();
}
}
}

}


—End—

热心网友 时间:2022-04-27 12:14

之前略有了解,都是使用QRCode_DLL.dll组件实现的,纯C#(或.net)的似乎没见过。

热心网友 时间:2022-04-27 13:48

首先先装一个 ThoughtWorks.QRCode.dll;(百度下载,然后点添加引用,里面有个浏览,再添加)

然后加using 语句

using System.Windows.Forms;
using ThoughtWorks;
using ThoughtWorks.QRCode;
using ThoughtWorks.QRCode.Codec;
using ThoughtWorks.QRCode.Codec.Data;

然后写方法
private void button1_Click(object sender, EventArgs e)
{

create_two(this.textBox1.Text);
//create_two(this.textBox2.Text);

}
private void create_two(string nr)
{
Bitmap bt;
string enCodeString = nr;
QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();
bt = qrCodeEncoder.Encode(enCodeString, Encoding.UTF8);
string filename = string.Format(DateTime.Now.ToString(), "yyyymmddhhmmss")
+ ".jpg";
filename = filename.Replace(" ", "");
filename = filename.Replace(":", "");
filename = filename.Replace("-", "");
filename = filename.Replace(".", "");

bt.Save(".\\image.Png", System.Drawing.Imaging.ImageFormat.Png);
pictureBox1.Image = Image.FromFile(@".\\image.Png");
}
搞定啦~~~

热心网友 时间:2022-04-27 15:40

用java吧,网上有一套开源的,你看看好了.....

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com