2016-10-19 2 views
0

Фотографии, снятые с фотографий, не отображаются по опции обрезки с использованием . Но опция обрезки появляется, когда я выбираю «Изображение» из галереи или делаю снимок с камеры.Фотографии, снятые с фотографий, не отображаются при обрезке в плагине камеры cordova в android

плагин

Cordova-плагин-камера 2.1.1

код

var options = { 
      quality: 75, 
      destinationType: Camera.DestinationType.DATA_URL, 
      sourceType: Camera.PictureSourceType.PHOTOLIBRARY, 
      allowEdit: true, 
      encodingType: Camera.EncodingType.JPEG, 
      targetWidth: 300, 
      targetHeight: 300, 
      popoverOptions: CameraPopoverOptions, 
      saveToPhotoAlbum: false 
     }; 
     $cordovaCamera.getPicture(options).then(function(imageData) { 
     console.log('succes') 
     }, function(err) { 
     console.log('succes') 
     }); 

я мог бы действительно нужна помощь, чтобы получить эту проблему решить.

+0

Какая версия Кордову вы используете? –

+0

cordova-plugin-camera 2.1.1 –

ответ

2

можно указать ngCordove - Camera.

вам нужна инъекция зависимостей добавить «ngCordova», вот так.

app.js

angular.module('starter', ['ionic','ngCordova']) 

camera.html

<ion-content> 
    <div class="list"> 

     <div class="item item-thumbnail-right item-icon-right" ng-click="toCamera()"> 
      <img id="myImage" style="margin-right:50px;"> 
      <h2 class="positive">Camera</h2> 
      <i class="icon ion-ios-arrow-right balanced"></i> 
     </div> 

    </div> 
</ion-content> 

controllers.js

app.controller('CameraCtrl', function ($scope, $cordovaCamera) { 

$scope.toCamera = function() { 
    var hideSheet = $ionicActionSheet.show({ 
     buttons: [ 
      { text: 'Take a picture' }, 
      { text: 'Select a picture' } 
     ], 
     cancelText: 'Cancel', 
     cancel: function() { 
     }, 
     buttonClicked: function (index) { 
      console.log(index); 
      if (index == '0') { 
       document.addEventListener("deviceready", function() { 
        //take a picture 
        var options = { 
         quality: 100, 
         destinationType: Camera.DestinationType.DATA_URL, 
         sourceType: Camera.PictureSourceType.CAMERA, 
         allowEdit: true, 
         encodingType: Camera.EncodingType.JPEG, 
         targetWidth: 1280, 
         targetHeight: 720, 
         popoverOptions: CameraPopoverOptions, 
         saveToPhotoAlbum: true, 
         correctOrientation: true 
        }; 
        $cordovaCamera.getPicture(options).then(function (imageData) { 
         var image = document.getElementById('myImage'); 
         image.src = "data:image/jpeg;base64," + imageData; 
        }, function (err) { 
         // error 
        }); 
       }, false); 

      } else if (index == '1') { 
       document.addEventListener("deviceready", function() { 
        //Select a picture 
        var options = { 
         destinationType: Camera.DestinationType.FILE_URI, 
         sourceType: 2,  //set 0 or 2,is system picture 
         quality: 100, 
         allowEdit: true, 
         targetWidth: 1280, 
         targetHeight: 720 
        }; 

        $cordovaCamera.getPicture(options).then(function (imageURI) { 
         var image = document.getElementById('myImage'); 
         image.src = imageURI; 
        }, function (err) { 
         // error 
        }); 

        //$cordovaCamera.cleanup().then(); // only for FILE_URI 

       }, false); 
      } 
      return true; 
     } 
    }) 
}}); 
+0

опция обрезки появляется, когда я выбираю изображение из галереи или делаю снимок с камеры, но не для изображений на снимках. –

+0

allowEdit: true Изменить на false – Chaoyenpo

+0

Я пробовал. Но не использовать –

Смежные вопросы