0

这就是我创建 xtype 的方式。但这根本不起作用,根本没有调用 getImageData 。有人可以对此有所了解吗?

items: [
                {
                    xtype: 'image',
                    flex: 9,
                    height: '100px',
                    itemId: 'imageFieldData',
                    width: '100px',
                    src:'resources/images/icon_camera.png',
                    getImageData : function()
                    {                           
                        if(Ext.browser.is.PhoneGap)
                        {
                            navigator.camera.getPicture(this.setImageData, function(message){console.log(message);}, { quality: 50 });
                        }
                    },
                    setImageData : function(imageData){
                        console.log("data:image/jpeg;base64," + imageData);
                        console.log(t);
                        console.log(this);
                        this.setSrc(imageData);                         
                    },
                    listeners:[
                         {
                            element: 'element',
                            event: 'tap',                               
                            fn: function(e,t) {                                 
                                this.getImageData();                                    
                            }
                        }
                    ]                                           
                }
            ]
4

2 回答 2

1

你有没有尝试过:

listeners:[
    tap: function(e,t) {
        this.getImageData();
    }
]

我的意思是,无论如何,“图像”已经在其武器库中获得了“点击”事件..

于 2014-04-14T09:15:45.237 回答
0

我对代码进行了一些修改,以添加更多的按钮功能,以便从相机拍照并从图库中进行选择。这是代码,它可以工作。

 {
            xtype: 'panel',
            height: '100px',
            width: '70%',
            layout: 'hbox',
            items: [
                {
                    xtype: 'image',
                    flex: 1,
                    height: '100px',
                    itemId: 'imageFieldData',
                    id:'imageFieldData',
                    width: '100px',
                    margin:'5px',
                    src:'resources/images/icon_camera.png'                                                      
                },
                {
                    xtype: 'panel',
                    layout:'vbox',
                    flex:1,
                    items : [
                        {
                            xtype:'spacer'
                        },
                        {
                            xtype: "button",
                            text: "Choose From Gallery",
                            handler: function() {
                                function success(image_uri) {
                                    var img = Ext.ComponentQuery.query("#imageFieldData")[0];
                                    img.setSrc(image_uri);
                                }

                                function fail(message) {

                                }

                                navigator.camera.getPicture(success, fail, 
                                    {
                                        quality: 50,
                                        destinationType: navigator.camera.DestinationType.FILE_URI,
                                        sourceType: navigator.camera.PictureSourceType.PHOTOLIBRARY
                                    }
                                );
                            }
                        },
                        {
                            xtype:'spacer'
                        },
                        {
                            xtype: "button",
                            text: "Take Picture",
                            handler: function() {
                                function success(image_uri) {
                                    var img = Ext.ComponentQuery.query("#imageFieldData")[0];
                                    img.setSrc(image_uri);
                                }

                                function fail(message) {

                                }

                                navigator.camera.getPicture(success, fail, 
                                    {
                                        quality: 50,
                                        destinationType: navigator.camera.DestinationType.FILE_URI,
                                        sourceType : navigator.camera.PictureSourceType.CAMERA
                                    }
                                );
                            }
                        },
                        {
                            xtype:'spacer'
                        }
                    ]
                }
            ]
        }
于 2014-03-07T18:20:18.733 回答