试图使用像ZXing,ZBar和它们的fork之类的几个库,但是找不到从相机而不是从文件扫描条形码的方法。
有人可以指出我正确的方向吗?最好是我正在研究ZXing:如何从文件(而不是相机)扫描图像。
请。
最后,我找到了解决方案。代码是(源自此处):
import com.google.zxing.*;
public static String scanQRImage(Bitmap bMap) {
String contents = null;
int[] intArray = new int[bMap.getWidth()*bMap.getHeight()];
//copy pixel data from the Bitmap into the 'intArray' array
bMap.getPixels(intArray, 0, bMap.getWidth(), 0, 0, bMap.getWidth(), bMap.getHeight());
LuminanceSource source = new RGBLuminanceSource(bMap.getWidth(), bMap.getHeight(), intArray);
BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source));
Reader reader = new MultiFormatReader();
try {
Result result = reader.decode(bitmap);
contents = result.getText();
}
catch (Exception e) {
Log.e("QrTest", "Error decoding barcode", e);
}
return contents;
}
Gradle引用为:
dependencies {
compile 'com.google.zxing:core:3.2.1'
}
用法:
InputStream is = new BufferedInputStream(new FileInputStream(file));
Bitmap bitmap = BitmapFactory.decodeStream(is);
String decoded=scanQRImage(bitmap);
Log.i("QrTest", "Decoded string="+decoded);
我用编译的'me.dm7.barcodescanner: zstar: 1.8.4'将Zstar qr scanner添加到我的android项目中。 我在片段内部显示二维码扫描仪。我可以毫无问题地扫描和阅读。我遇到的问题是试图在相机扫描时打开闪光灯(手电筒)。 这段代码扫描得很好 这个密码完美地开启了火炬 如果我尝试打开灯并返回mScannerview,扫描仪可以工作,但灯熄灭了。我似乎无法成功
难以存储条形码/二维码 2.)QR/Barcode直接从指定的URI打开电子表格 更改文件路径可使QR/条形码无效 null
我必须在项目中使用QR扫描仪: 目前我正在使用QRCodeReaderView: 但是这个库的问题是: 我得到 java.lang.RuntimeException: 無法連接到相機服務 Exception 在Android 6.0中,如本问题所述:Android 6.0 RuntimeException:无法连接到相机服务 正如在那里的答案中所建议的那样,我试图将目标SDK版本降级到22,但效果
我想为这个代码寻求一些帮助。我没有问题读取一个文件本身和使用它作为扫描仪。我可以很容易地数出文件的双倍数。作为一个例子,这些是txt文件的前五个double。(这些数字应该是垂直列出的,但我几乎不怀疑这会有所不同) 这段代码总体上只是打印0.0的“num”数量,而不是将实际数字本身相加。请帮忙,谢谢。
我正在为我的客户开发一个android应用程序,他要求在应用程序中内置QR扫描仪。所以,我不希望用户不得不从GooglePlay下载另一个应用程序。换句话说,我不想从我的应用程序调用另一个QR扫描仪应用程序。我需要QR扫描仪内置在我的应用程序中。 我在github和这里的stackoverflow上读到了关于ZXing的信息。据我所知,将其QR扫描仪集成到应用程序中不是一个好主意。最好通过Inte
问题内容: 我正在玩Scanner类,以进行学习,并且我使用它来读取非常大的文件(大约60.000行,大约不使用Reader类),并且在大约400行后停止读取。我是否必须在Scanner的构造函数中使用Bufferedreader还是问题?我想知道为什么会这样。谢谢。我的代码是输出所有行的常用代码。 问题答案: 此问题通常在64位计算机上或文件大小大于1-2 GB的文件中更常见,并且与堆空间无关。