2016-11-09 4 views
0

私は2つのボタンを持っています.1つはギャラリーからのブラウズ画像用、もう1つは写真撮影用です。私はcordova camera pluginを2つのケースで使用しています。ionic 1.x:crop image

画像を選択したあと、cordova file transfer pluginを使用してサーバーに送信する前に画像を切り抜きたいです。私はjr-cropangular-image-cropngImgCropのようないくつかのプラグインを使用しようとしました。問題は、プラグインがbase64イメージを返すことですが、image url(dataUrlではなく)を取得したいのです。助けてください!

+0

あなたは、このためのソリューションを見つけました! –

+0

私は自分の状況に適応した自分のソリューションを作った。このコードはあまりにも長いため、ここに答えがあります。 –

答えて

1

私のソリューション(@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

ありがとうございました... –

+0

あなたは大歓迎です:) –

+0

私に完全なコードを教えてください。 –

関連する問題