我注意到压缩不起作用,当我在https://github.com/apache/cordova-plugin-camera/blob/master/doc/index.md阅读Cordova文档时,我可以读到:
NOTE: Photo resolution on newer devices is quite good. Photos selected
from the device’s gallery are not downscaled to a lower quality, even
if a quality parameter is specified. To avoid common memory problems,
set Camera.destinationType to FILE_URI rather than DATA_URL.
在我的情况下,我只能使用DATA_URL,因为我使用base64加密与第三方webservice上传图像.我也只使用设备库中的图像(不是来自相机本身).
我遇到了一些性能问题,主要是在Windows Phone上.由于图像大小,我的应用程序需要花费太多时间来处理base64数据(我正在测试保存在设备库中的大图像,但是使用5 MP或8 MP手机的相机拍摄).
我的问题是有一个解决方案,以获得Cordova插件中的图片照片的“质量”选项吗?
是否有任何自定义插件或分支,我们可以压缩设备库照片?
你建议还有其他选择吗? (例如,使用FILE_URI并返回压缩图像base64加密的自定义本机插件)
调用.getPicture时我们使用以下选项:quality: 50, destinationType: Camera.DestinationType.DATA_URL, encodingType: Camera.EncodingType.JPEG, sourceType: Camera.PictureSourceType.CAMERA, targetWidth: 800, correctOrientation: true
但质量参数似乎对文件大小没有太大影响. targetWidth和,由于一些奇怪的原因,correctOrientation做.根据设备的相机分辨率,这些设置的结果图片大小约为24kB.