一、下载
npm install react-native-camera
npm install react-native-image-picker
npm install react-native-local-barcode-recognizer
注:
react-native-local-barcode-recognizer
解析二维码图片,需要使用base64格式
二、使用
import LocalBarcodeRecognizer from 'react-native-local-barcode-recognizer';
import {launchImageLibrary} from 'react-native-image-picker';
// 选择照片
const addPicCheck = () => {
const options = {
mediaType: 'photo',
includeBase64: true,//base64格式
quality: 0.5,
maxWidth: 200,
maxHeight: 200,
maxFiles: 2,
};
launchImageLibrary(options, response => {
if (!response.didCancel) {
// 相册获得的图片base64
let source = response.assets[0].base64;
// 处理扫描选取的二维码图片
recoginze(source);
}
});
};
// 识别图片二维码
const recoginze = async data => {
let result = await LocalBarcodeRecognizer.decode(data, {
codeTypes: ['ean13', 'qr'],
});
if (result) {
//成功操作
.......
}
};
三、官方示例
会将base64格式得前缀去掉
const imageBase64 = "data:image/jpeg;base64,/9j/4AA.......";
let result = await LocalBarcodeRecognizer.decode(imageBase64.replace("data:image/jpeg;base64,",""), {
codeTypes: ['ean13', 'qr']
});
console.log(result);