文章目录:
谁有C语言或C++编写的二维码解码软件的源程序
这个程序是运行在什么平台的?
二维码的输入来自摄像头还是来自图片?
目前来看,网上有一些开源的跨平台的开发包,需要安装相应的库才能使用。不可能像你想象的那么简单给你发个源代码你就立刻能用了。
比较实用的一个开发包是Zbar,开源不收费。亲测在Win7,WinXP环境下可以成功编译运行。
去这里下载他的SDK,里面有相应的例程,根据你的具体运行环境和具体的需要来修改吧。
祝你好运
二维码生成程序C语言源代码
1、二维码有很多种标准,可以控制存储数据的信息量,也可以控制容错的数据量[使得部分污损的二维码可以被正常读龋通常的做法是调用二维码设计方提供的组件,如果是自己生成二维码,应该可以生成可以看起来很像的东西。
C#生成二维码(QR码)
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 = "123456789";//设置二维码数据
settings.Data2D = "123456789";//设置显示文本
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—
想要c语言生成qr码的源代码(拜托)
int strcpy(char *s1,const char *s2);
开辟一个缓冲区,比如
char buff[100];//假设你的字符串不超过这么多
而你的而为数组为
char **argv;
其中argv[0] = "this is the first string";
argv[1] = "this is the seconde string";
你只须调用如下
strcpy(buff,argv[0]);
strcpy(argv[0],argv[1]);
strcpy(argv[1],buff);
一下是完整代码,并测试过
#include stdio.h
#include string.h
char argv[2][100]=;
// 存储字符串的二维数组,每个字符串最长为99个字节
char buff[100];
//缓冲区
int main()
{
printf("转换前:\n");
printf("argv[0] = %s\n",argv[0]);
printf("argv[1] = %s\n",argv[1]);
strcpy(buff,argv[0]);
strcpy(argv[0],argv[1]);
strcpy(argv[1],buff);
printf("转换后:\n");
printf("argv[0] = %s\n",argv[0]);
printf("argv[1] = %s\n",argv[1]);
return 0;
}
vae.la
ject sender, EventArgs e){Bitmap bitmap = new Bitmap(pictureBox1.Image);//识别条形码图片中的数据(BarcodeScanner类包含多个Scan重载方法,可根据自己的需求选择相应的方法)st
oid btnLoadImage_Click(object sender, EventArgs e){//加载条形码图片Image image = Image.FromFile("Code128