Cordova Camera Plugin设置targetWidth/Height后分辨率异常问题咨询
问题分析与解决办法
核心原因
这是Cordova Camera Plugin的宽高比保持机制导致的,并非额外压缩。你的平板原生相机拍摄的照片比例是3:4(3096÷4128≈0.75),而你设置的targetWidth: 1920、targetHeight: 1080是16:9的宽高比。插件在缩放时会严格遵循原始照片的宽高比,同时确保缩放后的尺寸不超过你设定的targetWidth和targetHeight上限。
具体计算:原始照片高度4128要缩到1080,缩放比例为1080÷4128≈0.2616,对应宽度就是3096×0.2616≈810,这就是最终得到810×1080的原因。
解决办法
- 匹配原始比例调整参数:如果不需要强制16:9比例,可将
targetWidth和targetHeight设置为与原始3:4比例一致的值。比如设置targetHeight: 1080、targetWidth: 810,或者targetWidth: 1920、targetHeight: 2560(1920×4/3),插件会按该比例缩放,不会出现比例不符的情况。 - 启用裁剪强制比例:若必须得到16:9的1920×1080照片,可在相机配置中添加
allowEdit: true,让用户手动裁剪;或者结合correctOrientation参数,配合裁剪相关选项强制裁剪为目标比例。注意:裁剪会丢失部分画面内容。 - 检查质量参数:确认插件的
quality参数(默认值50)是否设置过低,过低的质量值会导致图片压缩,但你的问题核心是比例适配,而非质量压缩。
内容的提问来源于stack exchange,提问作者Laure
相关产品推荐
相关产品推荐

