Cordova/PhoneGap 照片质量设置为 1,仍然是高质量

Cordova/PhoneGap photo quality set to 1, still high quality

我正在成功拍摄照片(不是从媒体库中提取照片)并使用 Cordova 将它们上传到云存储。

但是尽管将质量参数设置为 1,图像仍存储在 4-6mb 大小范围内,与设置为 100 时完全相同。

我确定这是一个怪癖,想知道是否有人有过这种经历并且知道会发生什么。我使用 iPhone 6 作为我的设备。干杯!

navigator.camera.getPicture(photoSuccess, captureError, {
    quality: 1,
    destinationType: navigator.camera.DestinationType.FILE_URI,
    saveToPhotoAlbum:true
});

查看 iOS 插件的源代码,结果表明 quality 设置要么被接受要么被忽略,这取决于您提供的其他选项。归结为:

if ((options.allowsEditing == NO) && (options.targetSize.width <= 0) && (options.targetSize.height <= 0) && (options.correctOrientation == NO)){
    // Ignore the quality setting
} else {
    // Use the quality setting
}

if ()中的选项都是iOS提供的默认值。如果您使用非默认值指定其中任何一个,我怀疑您的图像尺寸将开始像您期望的那样改变。对于 iOS 作者而言,这是否是一个好的实现...我想这是另一天的问题,但对我来说这似乎有点愚蠢。 :)