当前位置 : 主页 > 手机开发 > cordova >

cordova – 相机插件的Downscale gallery照片

来源:互联网 收集:自由互联 发布时间:2021-06-10
我正在使用Cordova 2.6 Camera插件,从设备库中获取图像,我使用base64编码获取它们,我试图使用“质量”选项将它们压缩到较低质量. 我注意到压缩不起作用,当我在https://github.com/apache/cordova
我正在使用Cordova 2.6 Camera插件,从设备库中获取图像,我使用base64编码获取它们,我试图使用“质量”选项将它们压缩到较低质量.

我注意到压缩不起作用,当我在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.

网友评论