Sencha touch 如何在Sencha应用程序中使用相机拍照?

Sencha touch 如何在Sencha应用程序中使用相机拍照?,sencha-touch,sencha-touch-2,Sencha Touch,Sencha Touch 2,我正在尝试使用SenchaTouch2中的相机拍照。这里我有一个“拍照”按钮,当我按下它时,相机应该启动。由于我是新来的sencha touch 2,我无法理解它,如何做到这一点? 为此,我使用了以下代码: 请帮帮我。我不想使用Phone gap。您必须在根目录中添加Sencha库的设备文件夹 并在中添加以下代码 Ext.require('Ext.device.Camera'); 并使用此代码使用照相机捕获图像 Ext.device.Camera.capture({

我正在尝试使用SenchaTouch2中的相机拍照。这里我有一个“拍照”按钮,当我按下它时,相机应该启动。由于我是新来的sencha touch 2,我无法理解它,如何做到这一点? 为此,我使用了以下代码:


请帮帮我。我不想使用Phone gap。

您必须在根目录中添加Sencha库的设备文件夹 并在中添加以下代码

Ext.require('Ext.device.Camera');
并使用此代码使用照相机捕获图像

Ext.device.Camera.capture({
            success: function(image) {
                imageView.setSrc(image);
            },
            quality: 75,
            width: 200,
            height: 200,
            destination: 'data'
        });

如果您想使用纯sencha,则可以检查以下代码:

 xtype: 'button',
            handler: function(button, event) {
                Ext.device.Camera.capture({
                    source: 'camera',
                    destination: 'data',

                    success: function(imagedata) {

                        var img = Ext.getCmp('theimage');
                        img.setSrc('data:image/jpeg;base64,' +imagedata);
                    },

                    failure: function() {
                        Ext.Msg.alert('Error', 'There was an error when acquiring the picture.');
                    },
                    scope: this
                });

但是如果你想使用phonegap摄像头功能,可能你必须更改代码。由于sencha提供了处理相机的默认功能,我不希望使用phonegap。希望这会有帮助。

非常感谢。但是,如果我写上述方法,它不是直接打开相机。为此,我编写了以下代码:Ext.device.Camera.capture({source:'Camera',destination:'file',success:function(url){this.firevent('change',this,url);},failure:function(){Ext.Msg.alert('Error',获取图片时出错。');},作用域:this});