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 作者而言,这是否是一个好的实现...我想这是另一天的问题,但对我来说这似乎有点愚蠢。 :)
我正在成功拍摄照片(不是从媒体库中提取照片)并使用 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 作者而言,这是否是一个好的实现...我想这是另一天的问题,但对我来说这似乎有点愚蠢。 :)