2016-11-09 37 views
0

我有兩個按鈕,第一個從畫廊瀏覽圖像,第二個用於拍照。我在兩種情況下使用cordova camera plugin離子的1.x:作物圖像

選擇圖像後,我想之前裁剪使用cordova file transfer plugin發送給服務器。我試着使用一些插件,如jr-cropangular-image-cropngImgCrop。問題是插件返回一個base64圖像,但我想獲取圖像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

你可以給我完整的代碼,請。 –