ionic 1.x : 裁剪图片
ionic 1.x : crop image
我有两个按钮,第一个用于浏览图库中的图片,第二个用于拍照。我在两种情况下使用 cordova camera plugin
。
选择图像后,我想在使用 cordova file transfer plugin
发送到服务器之前对其进行裁剪。我试过使用几个插件,例如 jr-crop
、angular-image-crop
、ngImgCrop
。问题是插件 returns 是一个 base64 图像,但我想获取图像 url(不是 dataUrl)。请帮忙!
我的解决方案(@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.
});
}
我有两个按钮,第一个用于浏览图库中的图片,第二个用于拍照。我在两种情况下使用 cordova camera plugin
。
选择图像后,我想在使用 cordova file transfer plugin
发送到服务器之前对其进行裁剪。我试过使用几个插件,例如 jr-crop
、angular-image-crop
、ngImgCrop
。问题是插件 returns 是一个 base64 图像,但我想获取图像 url(不是 dataUrl)。请帮忙!
我的解决方案(@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.
});
}