我正在使用JSQRCode JS 库来解码二维码。我发现如果我从非常近的地方拍摄 QR 码的照片,它就可以正常工作。
如果我从更远的地方拍摄照片,则无法解码代码。
注意:代码解码库在 Sencha Touch 2 应用程序中使用。图片是使用 Ext.device.Camera API 拍摄的,该 API 允许访问手机摄像头。
有没有人遇到过类似的问题?达到目标的任何可能的解决方案或替代方法(拍照+ QR解码)?
非常感谢任何建议/评论!非常感谢!
这是我正在运行的代码:
Ext.device.Camera.capture({
success: function(fileURI) {
// reassigning for test purposes
//fileURI = './resources/images/qrTemp.png';
console.log('Camera Success');
var imageView = Ext.getCmp('cameraImg');
imageView.setSrc(fileURI);
qrcode.decode(fileURI);
},
failure: function() {
console.log('Camera failure');
},
quality: 100,
source: 'camera'
}, /*scope*/ this, /*destination*/ 'file', /*encoding*/ 'png');
...
qrcode.callback = function(data){
window.alert('QRCode callback: '+ data);
};
更新:刚刚发现问题是来自 sencha touch 的相机 API 返回一个非常小的图像(虽然应该返回一个更大的图像),所以代码阅读器库无法解码!有人遇到过这个煎茶触摸问题吗?