Image 将本机base64映像响应到Uint8ClampedArray
我可以在react native中从Android和iOS的CameraRoll中选择QRcode的图像,一旦用户选择了图像。我将使用类似的东西来解码,并验证它是否是真正的二维码 但是在jsQRlib上,他们说他们需要接受uint8clampedaray来解码图像并读取qr。所以我已经有了一个函数来获取base64图像。但找不到如何将其正确转换为uint8clampedaray 下面是我的代码:Image 将本机base64映像响应到Uint8ClampedArray,image,react-native,base64,qr-code,uint8t,Image,React Native,Base64,Qr Code,Uint8t,我可以在react native中从Android和iOS的CameraRoll中选择QRcode的图像,一旦用户选择了图像。我将使用类似的东西来解码,并验证它是否是真正的二维码 但是在jsQRlib上,他们说他们需要接受uint8clampedaray来解码图像并读取qr。所以我已经有了一个函数来获取base64图像。但找不到如何将其正确转换为uint8clampedaray 下面是我的代码: const handleImportScan = useCallback(async () =>
const handleImportScan = useCallback(async () => {
try {
const base64Image = await RNFS.readFile(
photos[selected].node.image.uri,
'base64',
);
console.log('base64img:', base64Image);
// First argument below should be a 'Uint8ClampedArray'
const code = jsQR(base64Image, width, height);
if (code) {
console.log('Found QR code', code);
}
} catch (error) {
console.log('err:', error);
}
}, [photos, selected]);
我正在尝试查找库或第三方以将我的base64图像转换为uint8clampedaray
我通常使用PNG保存用户qr生成的图像
如果有人能帮忙,我将不胜感激。
谢谢请注意,base64数据应该是base64编码的图像,而不是uri。(例如,如果您有uri,则不带'data:image/png;base64')
constbytecharacters=atob(base64data);
const byteNumbers=新数组(byteCharacters.length);
for(设i=0;i
const byteCharacters = atob(base64data);
const byteNumbers = new Array(byteCharacters.length);
for (let i = 0; i < byteCharacters.length; i++) {
byteNumbers[i] = byteCharacters.charCodeAt(i);
}
const byteArray = new Uint8ClampedArray(byteNumbers);