我正在创建一个
android项目,主要功能是扫描条码.
我尝试将 Zxing库集成到我的项目中,并且它工作正常.
但是,似乎不支持从Android设备库中的可用图像扫描条形码.
我尝试将 Zxing库集成到我的项目中,并且它工作正常.
但是,似乎不支持从Android设备库中的可用图像扫描条形码.
我怎么能这样做?或与其他条码库?
请帮我.
谢谢你的所有答案.
解决方法
您可以使用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,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();
UPDATE1
要操纵大图像,请查看:
https://developer.android.com/training/articles/memory.html
https://developer.android.com/training/displaying-bitmaps/manage-memory.html
您可以使用此属性android:largeHeap来增加堆大小.