科尔多瓦相机插件不调整大小

时间:2017-05-03 13:36:43

标签: cordova ionic-framework cordova-plugins

我最近使用的是cordova相机插件,但它无法调整大小或改变质量,我尝试使用JPEG和PNG,但没有。

$ ionic plugin ls
WARN: ionic.project has been renamed to ionic.config.json, please rename it.
com-badrit-base64 0.2.0 "Base64"
com.googlemaps.ios 2.1.1 "Google Maps SDK for iOS"
cordova-plugin-camera 2.4.1 "Camera"
cordova-plugin-compat 1.1.0 "Compat"
cordova-plugin-console 1.0.3 "Console"
cordova-plugin-device 1.1.2 "Device"
cordova-plugin-file 4.3.1 "File"
cordova-plugin-file-transfer 1.6.1 "File Transfer"
cordova-plugin-geolocation 2.4.2 "Geolocation"
cordova-plugin-googlemaps 1.4.0 "phonegap-googlemaps-plugin"
cordova-plugin-screen-orientation 2.0.1 "Screen Orientation"
cordova-plugin-splashscreen 3.2.2 "Splashscreen"
cordova-plugin-statusbar 2.1.3 "StatusBar"
cordova-plugin-whitelist 1.2.2 "Whitelist"
es6-promise-plugin 4.1.0 "Promise"
ionic-plugin-keyboard 2.2.1 "Keyboard"

还有一些代码

$scope.take_picture = function()
{
    screen.orientation.lock('portrait');
    var options = {
        quality: 25,
        destinationType: Camera.DestinationType.FILE_URI,
        sourceType: Camera.PictureSourceType.CAMERA,
        encodingType: Camera.EncodingType.PNG,
        saveToPhotoAlbum: false,
        correctOrientation: true,
        allowEdit: false,
        targetHeight: 200,
        targetwidth: 200
    };

    $cordovaCamera.getPicture(options).then(function(imageURI) {
        $scope.image_uri = imageURI;
        $scope.marcar_gps();
        $cordovaCamera.cleanup(); 
        window.plugins.Base64.encodeFile($scope.image_uri, function(base64){
            $scope.base64 = base64.split("data:image/png;base64,")[1]
        });
    }, function(err) {
      console.log('error ',err);
      $cordovaCamera.cleanup();
      $ionicLoading.hide();
    });

    return true;
};

我得到的图片尺寸是2448×3264

有什么想法吗? 提前致谢

1 个答案:

答案 0 :(得分:0)

quality: 50

压缩质量(0-100:0 =低质量和高压缩,100 =最高质量压缩)。它不会改变图像分辨率。

targetHeight: 200,
targetwidth: 200

对我来说,指定此项仅适用于JPEG选项,如果更改了某些内容,我也会DestinationType.DATA_URL