2016-11-09 6 views
0

Ich habe zwei Schaltflächen, die erste für das Bild aus der Galerie und die zweite für die Aufnahme von Fotos. Ich verwende cordova camera plugin für zwei Fälle.ionic 1.x: Bild zuschneiden

Nachdem ich ein Bild ausgewählt habe, möchte ich es vorher zuschneiden, um es mit cordova file transfer plugin an den Server zu senden. Ich habe versucht, mehrere Plugins wie jr-crop, angular-image-crop, ngImgCrop zu verwenden. Das Problem ist, dass Plugins ein Base64-Image zurückgeben, aber ich möchte die Image-URL (nicht DataUrl) erhalten. Jede Hilfe bitte!

+0

haben Sie eine Lösung für dieses! –

+0

Ich machte meine eigene Lösung, angepasst an meine Situation. Der Code ist in der Antwort, weil es zu lang ist, um es hier zu setzen. –

Antwort

1

Meine Lösung (@egycode):

$scope.image_gallery = function() { 
    var options = { 
     quality: 100, 
     correctOrientation: true, 
     sourceType: 0 
    }; 
    $cordovaCamera.getPicture(options).then(function(data) { 
     console.log(data); 
     $scope.crop(data); 
     console.log('camera data image_gallery: ' + angular.toJson(data)); 
    }, function(error) { 
     console.log('camera error image_gallery: ' + angular.toJson(error)); 
    }); 
} 

$scope.crop = function(url) { 
    $jrCrop.crop({ 
     url: url, 
     width: 261, 
     height: 362 
    }).then(function(canvas) { 
     console.log(canvas); 
     var image = canvas.toDataURL(); 
     //var image is the result, you can show it using : $scope.pictureUrl = image; 
    }, function() { 
     // User canceled or couldn't load image. 
    }); 
} 
+0

Vielen Dank ... –

+0

Sie sind herzlich willkommen :) –

+0

können Sie mir bitte vollständigen Code geben. –