我正在尝试使用相机捕获图像并放入android中的屏幕。我正在使用sencha touch 2,phonegap用于相机功能。它捕获图像但不在屏幕上显示。 这是我的代码:
在dashboardpanel文件中:
{
xtype : 'image',
id : 'capturedimage',
src : '',
width : 60,
height: 60,
width : 200
},
{
xtype : 'container',
id : 'btncontainer',
width : 120,
layout : {
type : 'vbox'
},
items : [
{
xtype : 'button',
height : 73,
cls : 'capturebtn',
id : 'capturebtn',
width : 100
},
{
xtype : 'button',
height : 73,
margin : '10 0 0 0',
cls : 'choosephotobtn',
id : 'selectphoto',
width : 100
} ]
},
在Controller文件中::
onCaptureButtonTap: function(button, e, options) {
/**
* phonegap Camera
*/
navigator.camera.getPicture(onPhotoDataSuccess, onFail, { quality: 20, allowEdit: true });
function onFail(message) {
alert('Failed because: ' + message);
}
function onPhotoDataSuccess(imageData) {
// Uncomment to view the base64 encoded image data
console.log(imageData);
// Get image handle
//
var smallImage = document.getElementById('capturedimage');
// Unhide image elements
//
smallImage.style.display = 'block';
// Show the captured photo
// The inline CSS rules are used to resize the image
//
smallImage.src = imageData;
}
}
但它没有来。任何人都可以帮助我..
答案 0 :(得分:1)
这是因为我们现在默认使用getPicture中的FILE_URI返回类型。所以现在哟只是获取文件的URL而不是所有base64编码数据。这是一种更好的方法,因为它不使用尽可能多的内存。改变这一行:
image = "data:image/jpeg;base64," + imageData;
为:
image.src = imageData;
你应该全力以赴。
答案 1 :(得分:1)
答案 2 :(得分:0)
最后,我可以使用以下链接解决此问题: