繁体   English   中英

Phonegap减少图像大小

[英]Phonegap reduce image size

我有一个phonegap应用程序,有多个输入字段,包括文本框/ textareas /签名/ cad草图/相机图像。 该数据通过ajax帖子上传到服务器。

问题:

上传数据时,文件非常大,并且由于图像而需要花费大量时间上传。 当没有添加照片时,大小约为200kb - 400kb但是图像文件已经达到60Mb,并且在使用具有较差互联网连接(具有不良信号的区域)的Android设备方面,这是不可用的。

我尝试过的:

我在相机选项中使用了图像压缩,如下面的代码摘录所示,但我面临的挑战是使用具有不同相机规格的不同设备,因此如果设备的质量差,相对于质量好的设备相机图像压缩将发生,无论如何图像质量将是可怕的。

 var cameraOptions = {
                    destinationType: Camera.DestinationType.DATA_URL,
                    quality: 40,
                    encodingType: 0,
                };

参考phonegap相机API和选项:

http://docs.phonegap.com/en/2.0.0/cordova_camera_camera.md.html#Camera

从阅读下面的帖子我推断jpeg是最轻的格式,所以使用endodingType为0

PNG与GIF对比JPEG与SVG - 何时使用?

我们想要实现的目标:

将图像大小限制为每个图像最大500kb,如果它大于压缩它的图像大小。

我尝试了不同的相机选项,以下我从iPhone 5获得了4.5MB的文件大小:

navigator.camera.getPicture(onSuccess, onFail, {
    destinationType : Camera.DestinationType.DATA_URL,
    sourceType : Camera.PictureSourceType.CAMERA,
    quality : 50,
    encodingType : Camera.EncodingType.JPEG
});

只有添加该行

correctOrientation : true

文件大小减少到~500kB。

我没有任何解释为什么它应该以这种方式工作,但我建议你尝试它,如果质量属性似乎没有做任何事情。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM