0

我正在尝试使用相机捕获图像并将其放入 android 屏幕中。我正在使用 sencha touch 2,phonegap 来实现相机功能。它正在捕获图像但不显示在屏幕上。这是我的代码:

在仪表板文件中:

{
        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
          } ]
   },

在控制器文件中::

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;
         }

   }

但它不会到来。任何人都可以帮助我吗..

4

3 回答 3

1

这是因为我们现在默认使用 getPicture 的 FILE_URI 返回类型。所以现在你只是得到一个文件的 url,而不是所有的 base64 编码数据。这是一种更好的方法,因为它不使用太多内存。更改此行:

image = "data:image/jpeg;base64," + imageData;

至:

image.src = imageData;

你应该准备好了。

于 2012-06-28T14:09:41.373 回答
1

老兄!!尝试在 HTML img src ="" id="" 上设置图像,您将在屏幕上看到该图像

于 2012-07-04T10:27:17.013 回答
0

最后,我可以使用以下链接解决此问题:

解决方案链接

于 2012-07-23T14:56:29.517 回答