2015-05-30 36 views
1

我成功地使用Cordova将照片(不从媒体库中拉出来)上传到云存储。Cordova/PhoneGap照片质量设置为1,质量仍然很高

但是,尽管质量参数设置为1,图像仍然被保存在4-6mb尺寸范围内,完全一样的,当它被设置为100

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

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

您是否尝试过使用数字10而不是1?据我记得,质量如10-20-30-40等...您的价值是如此之低,PhoneGap可能只是忽略它,并不会压缩图像。 –

+0

@erol_smsr没有运气,当我将它设置为10时,图像仍然在5-6mb之间。尽管如此,谢谢您的回复。 – Colton45

+0

我会尝试一些在android上的模拟并让你知道 – AshBringer

回答

1

望着用于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作者的良好实现......我想这是另一天的问题,但对我来说似乎有点愚蠢。 :)

+0

感谢您的帮助Mike。向所有阅读此内容的人发问。您可以在选项中设置宽度或高度(但只是一个),这将触发质量设置的使用,但如果仅使用其中一项,宽度或高度仍未指定,因为它们不是联合使用。他们都需要触发图像调整大小。 – Colton45