我需要一个库来在 iPhone 和 Android 上生成二维条码(最好是 WM7,也可能是 j2me)——这个想法是用相应的扫描仪(解码器)将信息传输到另一台设备。有哪些好的选择?
ZXing是一个选项,特别是在读取/解码方面,但我想在这些设备上生成它们。
最好的选择应该是ZXing 的库。我不确定是否支持 Windows Phone 7。
zxing 将适用于 Android。Java 编码器还没有被移植到 C++(请随意加入并做出贡献……应该不会那么难。)在此之前,我一直在使用 psytec 编码器(http://groups.google。 com/group/zxing/msg/27e421daeb510d0f)。评论是日文的,但很简单。
我对 WM7 没有什么要补充的。那是C#吗?zxing 有一个 C# 端口,但我不知道有人在积极维护它,也不知道它是否包含编码器。
我一直在使用 ZXING 成功编码 QR 条码。但是,至少在当前版本中,它似乎对其他符号的编码支持有限(例如:PDF-417)。
我使用以下代码片段:
// Encode the bitmap and display it on the screen
try {
// This will produce a 150x150 QR Barcode and display it on the screen.
Bitmap bm = encodeAsBitmap(barcodeContentString, BarcodeFormat.QR_CODE, 150, 150);
if(bm != null) {
barcodeImage.setImageBitmap(bm);
}
}
catch (WriterException e) { ... }
在此示例中,“barcodeContentString”是正在编码的数据。“barcodeImage”是一个标准的 ImageView。
我没有在这里显示它,但我在显示条形码的整个时间段内打开屏幕。因此,我能够使用兼容 QR 的条码扫描仪成功扫描条码。
如果您要在线传输到另一台设备,那么您可能需要使用 3rd 方 QR 码 API 来获取图像。调用 REST API 是跨平台移动应用程序的最佳选择。
此 API 为 URI 执行此操作:http ://www.tag.cx/qr-codes/
您还可以托管自己的私有二维码生成器 API。
这是另一个 Java 版本:http: //qrcode.sourceforge.jp/
总结--“本项目在GPL v2下开发和分发二维码解码/编码库。项目目标是利用二维码嵌入信息用于全世界的可编程设备。二维码是工业标准,JIS-X-0510和ISO /IEC18004。”
另请查看(我无法发布这些,因为 stackoverflow 阻止了多个 url):和一个 .net 版本(如上面网站上列出的): http: //www.codeproject.com/KB/cs/qrcode.aspx
另请查看(我无法发布这些,因为 stackoverflow 阻止了多个 url):python 版本(如上面网站上列出的): http: //pyqrcode.sourceforge.net/
我可能为时已晚,无法以任何方式帮助您,但我找到了一个很好的数据矩阵代码 SDK。更多说明在他们的网站HERE上,但要在此处也提供代码,您需要执行以下操作:
OBLinear *pLinear = [OBLinear new];
[pLinear setNBarcodeType: OB_CODE128A];
[pLinear setPDataMsg: [[NSString alloc] initWithString:@"AB"]];
//[pLinear setPSupData: [[NSString alloc] initWithString:@"14562"]];
[pLinear setFX: USER_DEF_BAR_WIDTH];
[pLinear setFY: USER_DEF_BAR_HEIGHT];
[pLinear setFLeftMargin:USER_DEF_LEFT_MARGIN];
[pLinear setFRightMargin:USER_DEF_RIGHT_MARGIN];
[pLinear setFTopMargin:USER_DEF_TOP_MARGIN];
[pLinear setFBottomMargin:USER_DEF_BOTTOM_MARGIN];
[pLinear setNRotate:OB_Rotate0];
UIFont *pTextFont = [UIFont fontWithName: @"Arial" size: 8.0f];
[pLinear setPTextFont: pTextFont];
[pLinear drawWithView:self.view];