从图库android中的图像扫描条形码

MrS*_*iro 9 android qr-code image-gallery barcode-scanner

我正在创建一个android项目,主要功能是扫描条码.
我尝试将Zxing库集成到我的项目中,并且工作正常.
但是,它似乎不支持从Android设备库中的可用图像扫描条形码.

我怎么能这样做?或与其他条码库?
请帮我.
谢谢你的所有答案.

Lau*_*ntY 18

您可以使用ZXing库中的此类MultiFormatReader.

你必须在BitMap中获取Gallery图像并将其转换为:

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();
Result result = reader.decode(bitmap);
contents = result.getText();
Run Code Online (Sandbox Code Playgroud)

UPDATE1

要操纵大图像,请查看:

https://developer.android.com/training/articles/memory.html

https://developer.android.com/training/displaying-bitmaps/manage-memory.html

您可以使用此属性android:largeHeap来增加堆大小.