2016-11-09 1 views
0

J'ai deux boutons, le premier pour parcourir l'image de la galerie et le second pour prendre la photo. J'utilise cordova camera plugin pour deux cas. Après avoir choisi une image, je veux recadrer avant d'envoyer au serveur en utilisant cordova file transfer plugin. J'ai essayé d'utiliser plusieurs plugins tels que jr-crop, angular-image-crop, ngImgCrop. Le problème est que plugins renvoie une image base64, mais je veux obtenir l'URL de l'image (pas dataUrl). Toute aide s'il vous plaît!ionique 1.x: recadrer l'image

+0

avez-vous trouvé une solution pour cela! –

+0

J'ai fait ma propre solution, adaptée à ma situation. Le code est dans la réponse parce qu'il est trop long pour le mettre ici. –

Répondre

1

Ma solution (@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

Merci beaucoup ... –

+0

vous êtes les bienvenus :) –

+0

pouvez-vous me donner le code complet s'il vous plaît. –