CameraX 拍照时遇到一个问题、记录一下
打开相机调用前置摄像头拍照 ,设置前置摄像头左右镜像。避免拍照出来预览和真实图片不一致。
然后得到保存的图片filePath,将其用glide渲染到imageView上。得到了一个和预览一样的图片,我的手在图片右边
OK。本以为大功告成,接下来得到这个路径后用鲁班压缩了再渲染到ImageView上。结果图片是镜像状态。然后我很纳闷,就去找到对应的Device File Explorer文件夹中的那张图打开一看如下
明明Metadata.isReversedHorizontal=true也设置对了的。拿到保存的图片路径渲染到imageView上也是正确的,但为何Device File Explorer文件夹打开的图片却是镜像的呢?然后直接将 Device File Explorer 中的图片找到对应的windows系统文件夹中发现竟然和Device File Explorer 中双击直接打开又是相反的状态。
然后我再试了一次用右手比了一个剪刀手。 ???
ImageView中只要不操作图片。直接渲染到imageview上是正确的方向。只要操作了文件一次,比如鲁班压缩调用了一次。得到的文件再渲染到imageView上便会镜像。这个问题百思不得其解,我找到Google官方的代码试了一次也是一样的,前置摄像头拍照后得到图片预览是正确的。然后跑去相册一看,还是镜像。
无解。要解决这个问题可能需要将得到的图片手动镜像一次。再传递给压缩工具压缩后渲染或者上传服务器。