JSQRCode JS ライブラリを使用してQR コードをデコードしています。QRコードを至近距離で撮影すれば問題なく動作することがわかりました。
少し離れて写真を撮ると、コードをデコードできません。
注: コードデコード ライブラリは、Sencha Touch 2 アプリ内で使用されます。写真は、携帯電話のカメラへのアクセスを提供する Ext.device.Camera 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 が非常に小さな画像を返していることが問題であることがわかりました (ただし、より大きな画像を返すはずです)。そのため、コード リーダー lib はデコードできません! この Sencha Touch の問題に直面した人はいますか?