uni-app中uni.chooseImage()方法 sizeType:['original'] 应选择原图 但安卓手机图片压缩严重

uni-app中uni.chooseImage()方法 sizeType:[‘original’] 应选择原图 但安卓手机图片压缩严重

项目属性
产品分类 uniapp/App
PC开发环境 Mac
PC开发环境版本 10.15.7
HBuilderX类型 正式
HBuilderX版本 3.1.9
手机系统 Android
手机系统版本 Android 11
手机厂商 华为,小米,OPPO等
手机机型 荣耀等
页面类型 vue
打包方式 云端
项目创建方式 HBuilderX

操作步骤:

uni.chooseImage() 方法中 sizeType:[‘original’] 只有选择原图,但是安卓手机图片压缩的很厉害,用手机相机拍摄的图片上面有文字的照片就会很模糊,(用手机拍照也是一样的)

预期结果:

设置原图以后,希望不要压缩的太厉害

实际结果:

设置原图以后,图片压缩很严重,尤其是照片上有文字的,根本看不清楚

bug描述:

uni.chooseImage() 方法中 sizeType:[‘original’] 只有选择原图,但是安卓手机图片压缩的很厉害,用手机相机拍摄的图片上面有文字的照片就会很模糊,(用手机拍照也是一样的)

liuxy-moments_1.2_.1_2_.zip


更多关于uni-app中uni.chooseImage()方法 sizeType:['original'] 应选择原图 但安卓手机图片压缩严重的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于uni-app中uni.chooseImage()方法 sizeType:['original'] 应选择原图 但安卓手机图片压缩严重的实战教程也可以访问 https://www.itying.com/category-93-b0.html


这是一个在uni-app中常见的问题,主要与安卓系统的图片处理机制有关。即使设置了sizeType: ['original'],部分安卓厂商系统仍会默认压缩图片,尤其是相机拍摄的高分辨率照片。

原因分析:

  1. 安卓系统底层限制:部分安卓厂商(特别是华为、小米、OPPO等)在系统相册中选择图片时,会强制进行压缩处理
  2. 内存优化考虑:系统为避免大尺寸图片导致内存溢出,自动进行压缩
  3. 文件路径问题:某些情况下返回的并非真正的原图路径

解决方案:

  1. 使用相机API替代:建议使用uni.chooseMedia()uni.createCameraContext()直接调用相机拍摄,可获取更高清的原图
  2. 调整压缩参数:尝试结合compressed: false参数
uni.chooseImage({
  count: 1,
  sizeType: ['original'],
  sourceType: ['camera'], // 直接调用相机
  success: (res) => {
    console.log(res.tempFilePaths[0])
  }
})
回到顶部