Cordova iOS相机插件返回空snapshop

时间:2015-07-09 09:41:31

标签: javascript android ios cordova canvas

我有一个简单的基于Cordova的APP,我正在使用相机和文件插件。 我拍照,在画布上画画,用户可以添加一些图像并保存图像。

关于android everythings工作正常,但在iOS上我拍摄的图片是空的,不能在画布上绘制,在XCode控制台上我重温:

  

快照未渲染的视图会导致空白   快照。确保您的视图至少在之前呈现过一次   屏幕更新后的快照或快照。

我的相机代码是:

        navigator.camera.getPicture(
            function(imageData) {

                bgSrc = 'data:image/png;base64,' + imageData;
                bgImg.setAttribute('src', bgSrc);

                app.drawEditor(bgImg);
            },
            function(message) {
                alert('Failed because: ' + message);
                app.addClass('Home');
                app.drawMenu();
            }, {
                quality: 50,
                correctOrientation: true,
                destinationType: Camera.DestinationType.DATA_URL,
                sourceType: Camera.PictureSourceType.CAMERA,
                encodingType: Camera.EncodingType.JPEG,
                targetWidth: 720,
                saveToPhotoAlbum: false
            });

注意:我正在使用最新版本的cordova和github上最新版本的相机插件。

有人知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

希望这可以帮助你:

                 function captureProfilePhoto(exec)
                      {
                              alert("captureProfilePhoto");
                             //alert("check");
                          navigator.camera.getPicture(function(imageURI){
                            exec(imageURI);
                            }, function(message){
                            alert("No attachment added");
                            //alert(labels.get("VPCS_GLOBAL_FAILURE_REASON_"+language)+" : " + message);
                            exec(-1);
                            }, {
                            quality : 100,
                            destinationType: navigator.camera.FILE_URI,
                            sourceType : Camera.PictureSourceType.CAMERA,
                            encodingType: Camera.EncodingType.JPEG,
                            targetWidth:960,
                            targetHeight:640,
                            correctOrientation: true,
                            allowEdit : true,
                            popoverOptions: CameraPopoverOptions });


                      }

//使用ID调用上述方法:

                      $("#basicInfoCapturePhoto").click(function(){
                   captureProfilePhoto(function(imageURI){
                      if(imageURI != -1){
                       profileImageURI = imageURI;

                 });
              }

          });