发布网友 发布时间: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吧,网上有一套开源的,你看看好了.....