当前位置:首页 » 操作系统 » 生成二维码源码

生成二维码源码

发布时间: 2023-03-27 15:38:06

A. Android二维码识别源码,可有多种实现方式

这里简单介绍一下ZXing库。ZXing是一个开放源码的,用Java实现的多种格式的1D/2D条码图像处理库,它包含了联系到其他语言的端口。Zxing可以实现使用手机的内置的摄像头完成条形码的扫描及解码。该项目可实现的条形码编码和解码。目前支持以下格式:UPC-A,UPC-E、EAN-8,EAN-13、39码、93码。ZXing是个很经典的条码/二维码识别的开源类库,以前在功能机上,就有开发者使用J2ME运用ZXing了,不过要支持JSR-234规范(自动对焦)的手机才能发挥其威力。
下面是ZXing的demo运行,我这里创建了一个二维码,内容是我博客的网址,大伙可以用微信的扫一扫功能,试一下。就可以直接打开我博客。

2、ZXing库主要类
下面给大家介绍一下,ZXing库里面主要的类以及这些类的作用:
CaptureActivity。这个是启动Activity 也就是扫描器。
CaptureActivityHandler 解码处理类,负责调用另外的线程进行解码。
DecodeThread 解码的线程。
com.google.zxing.client.android.camera 包,摄像头控制包。
ViewfinderView 自定义的View,就是我们看见的拍摄时中间的框框了。

3、使用ZXing生成二维码
下面针对二维码生成和解析做个简单介绍,至于详细的使用方法,建议大家还是自己看看源码,使用起来很简单,不过这个开源项目的代码,值得好好看看。首先给出二维码生成的方法:
View Code
上面就是二维码生成的方法接口,如果你只是使用者方法,很简单,只要传入一个URL即可,就像我截图里面一样,传入一个合法的网址即可。或者像现在一些移动APP的推广,把APP下载地址转为二维码,只要扫一下就可以下载相应的APP。这个也是目前比较流行的APP的推广方式。
上面代码做的事情不多,主要是调用ZXing库里面QRCodeWriter().encode的方法对我们传进去的URL进行编码,具体如何编码,这个我这里就不详细说,有兴趣可以看ZXing的源码。文章最后会给出ZXing的源码和例子代码。

4、扫描二维码获取信息
扫描获取二维码信息的工作稍微复杂一些,主要是需要编写Camera的使用,这个跟我们一般使用Camera一样,需要使用Surfaceview作为预览,这一部我这里就不说了,这个应该不是太复杂。对于使用过Camera做预览的朋友,应该是挺简单的事情。获取二维码数据的关键处理是在Camera的自动对焦回调函数哪里,调用ZXing的解码接口。
View Code
这里稍微多说一句,由于解码需要一定时间,所以ZXing的解码调用,都是使用了Handler作为线程通信机制,解码的工作都是放在独立线程里面使用的,如果你直接在主线程解码,恐怕ANR问题是避免不了。
View Code
上面是解码的线程处理不同状态的时候需要注意的地方,我们这里只看获取图像成功的地方,成功获取图片解码的实在DecodeThread里面实现,DecodeThread里面解码成功后,会把数据序列化,然后保存到Bundle里面,我们可以直接通过Bundle的序列化,获取到图片数据。同时会把解码后的结果保存到MSG里面,然后就可以根据实际情况进行处理,例如上面代码,解码成功后,会调用一个处理函数:
View Code
上面就是整个二维码的解码流程,里面因为涉及很多Camera的使用,所以你如果需要使用二维码识别,需要注意一下你的程序需要申请下面的权限,一般的Camera使用以及Camera的自动对焦等。
View Code
5、结语
上面就是生成和识别二维码的关键流程和代码,有兴趣的朋友可以自己查看ZXing的源码,里面有很多图像分析的知识可以学习。具体使用也可以参考我下面给出的Demo。二维码对于现在移动开发来说很是很常用的技术,所以有空可以了解一下,说不定什么时候就用上了。另外,ZXing库除了二维码外,其实对于条形码也是支持的,只是我这里没有介绍。有需要的自己去看看源码即可。

B. 求:asp生成二维码的源码。

其实是一个误会,二维码本身存什么无所谓,只不过编码规则不一样而已。软能动力的网站上好像有免费用控件,可以用任何一种语言调用。他培扮庆们缺袭家是专业做二维码的,号称从2005年就开始研发了。如果你不知道怎么样编码,你就给他们配握的技术打电话好了

C. C语言或C++编写二维码的解码部分详细的源代码及说明

1、二维码有很多种标准,可谨轮以控制存储数据的信息量,也可以控制容错的数据量[使得部分污损的二维码可以被正常读取。通常的做法是调用二维码设计方提供的组件,如果是自己生成二维码,应该可以生成可以看起来很像的东西。

2、例程:

<pre name="code" class="cpp">int Fb_QrDisp(int iPenX,int iPenY,QRcode*pQRcode)

{

T_PixelDatasg_tOriginPixelDatas;

T_PixelDatasg_tZoomPixelDatas;

//intiZoom;

inti;

g_tOriginPixelDatas.iWidth= pQRcode->width;

g_tOriginPixelDatas.iHeight=pQRcode->width;

g_tOriginPixelDatas.iLineBytes=g_tOriginPixelDatas.iWidth;

g_tOriginPixelDatas.aucPixelDatas= pQRcode->data;

/*

if(pQRcode->version< = 1)

{

iZoom= 2;

}

else

{

iZoom= 2;

}

g_tZoomPixelDatas.iWidth = pQRcode->width*iZoom;

g_tZoomPixelDatas.iHeight=pQRcode->width*iZoom;

g_tZoomPixelDatas.iLineBytes=g_tZoomPixelDatas.iWidth;

g_tZoomPixelDatas.aucPixelDatas= malloc(g_tZoomPixelDatas.iWidth* g_tZoomPixelDatas.iHeight);

if(g_tZoomPixelDatas.aucPixelDatas== NULL)

{

printf("g_tZoomPixelDatas->aucPixelDatasmalloc failed "神哗);

return-1;

}

PicZoom(&g_tOriginPixelDatas,&g_tZoomPixelDatas);

#if 0

printf("g_tZoomPixelDatas.iWidth=%d,g_tZoomPixelDatas.iHeight=%d ", g_tZoomPixelDatas.iWidth,g_tZoomPixelDatas.iHeight);

for(i=0;i<(g_tZoomPixelDatas.iWidth*g_tZoomPixelDatas.iHeight);i++)

{

printf("0x%x,",g_tZoomPixelDatas.aucPixelDatas[i]);

}

printf(" ");

#endif

*/

Disp_FixelPic(iPenX,iPenY,&g_tZoomPixelDatas);

return 0;

}

因为stmf429运行起来后内存祥瞎信不够,这里不用申请内存再扩充放大二维码数据的方法,而是直接描点。所以这里注释掉了放大部分。

D. 求:asp生成二维码的源码。

其实是一个误会,二维码本身存什么无所谓,只不过编码规则不一样而已。软能动力的网站上好像有免费用控件,可以用任何一种语言调用。他们家是专业做二维码的,号称从2005年就开始研发了。如果你不知道怎么样编码,你就给他们的技术打电话好了

E. 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—

F. 二维码生成程序C语言源代码

1、二维码有很多种标准,可以控制存储数据的信息量,也可以控制容错的数据量[使得部分污损的二维码可以被正常读龋通常的做法是调用二维码设计方提供的组件,如果是自己生成二维码,应该可以生成可以看起来很像的东西。

G. 高分求 ASP网站二维码生成插件,或适用于ASP的二维码在线生成源码!! 谢谢!

php的,只要你的空间支持php,就可以上传使用,页面排版时可以加入超链接,直接跳转至二维码生成页面,要的留下邮箱

H. 怎么把通达信公式制作成二维码

可以把通达信公式的源码复悉改咐制,粘贴到草料二维睁纯码上面,可以自动生成通达信公式的二维码。歼饥也可以在Excel上面生成二维码。

I. 二维码怎么生成

制作二维码需要一种叫做“二维码生成器”的工具,也就是一种二维码生成的软件。二维码的机制就是用特定的几何图形在二维平面上分布的黑白相间的图形。它的实质就是计算机的逻辑基础语言,0和1进行的排列组合,使用若干个与二进制相对应的几何形体来表示文字数值信息。

从字面上就可以看出,二维码是一种比一维码更为先进的条码格式。一维码只能在一个方向,且大多是水平方向上表达信息,但是二维码在水平、垂直方向上都能储存信息。另外,一维码是由数字、字母构成,但是二维码可以储存汉字、数字和图片等等。

码上游二维码的基本功能是用户可通过上传的方式将图片语音视频等信息通过简单的在线编辑排版后转换成二维码。而且通过码上游二维码的文档在线转换功能,可以把PPT,Word,PDF,Excel等48种办公文档格式自动转换成可以通过手机在线查看的格式,方便用户扫码查看各种文档。进入码上游网站了解更多

热点内容
编程猫玻璃 发布:2024-05-01 13:26:53 浏览:746
阴阳师可以用哪些配置的机型 发布:2024-05-01 12:51:00 浏览:771
查看系统信息linux 发布:2024-05-01 12:03:48 浏览:719
脚本窃取 发布:2024-05-01 11:55:19 浏览:809
天龙八部捡包脚本 发布:2024-05-01 11:55:16 浏览:620
mf推荐算法 发布:2024-05-01 11:39:34 浏览:860
破解阿里云服务器 发布:2024-05-01 11:11:07 浏览:958
服务器错误16999什么意思 发布:2024-05-01 10:55:38 浏览:551
python中count是什么意思 发布:2024-05-01 10:46:06 浏览:906
ssc网站源码 发布:2024-05-01 10:28:53 浏览:636