Android 自定义相机surfaceview预览变形问题

Android 自定义相机surfaceview预览变形问题解决最近有个需求要自定义相机,这还不简单,GitHub,baidu等等一堆现成的代码,开启cv战斗模式,运行起来就发现,怎么预览的怎么变形了啊,然后各种看前辈们的是怎么解决的,最终顺利解决,分享下我的解决方法为什么会变形有没有细心的同学发现,安卓手机的系统相机,设置正方形,标准,还是16:9,照相机的预览界面会跟随你的设置而改变,...
摘要由CSDN通过智能技术生成

Android 自定义相机surfaceview预览变形问题解决

最近有个需求要自定义相机,这还不简单,GitHub,baidu等等一堆现成的代码,开启cv战斗模式,运行起来就发现,怎么预览的怎么变形了啊,然后各种看前辈们的是怎么解决的,最终顺利解决,分享下我的解决方法

为什么会变形

有没有细心的同学发现,安卓手机的系统相机,设置正方形,标准,还是16:9,照相机的预览界面会跟随你的设置而改变,或者在拍摄视频的时候,设置不同的分辨率也预览界面也会发生改变。之所以会改变就是为了通过改变surfaceview的大小来确保预览不会变形。

屏幕的分辨率是固定的,但是预览的分辨率是可以修改的

打个比方,(以下单位都是px,为了方便理解我们固定手机为竖屏,横向作为宽,纵向作为高)当前预览的分辨率是1280960(4:3)手机屏幕分辨率是19201080(16:9)设置的surfaceview固定的情况下都是宽高都设置为match_parent,那么它的高宽就是屏幕的高宽为1920*1080。就导致我们强行把宽为960像素的图片放到宽度为1080的画布上导致横向就有了一定的拉伸,同理纵向也被从1280拉到了1920,很显然宽度放大了1080/960倍,高度放大了1920/1280倍,这两个值肯定不相等,导致预览变形。

解决方法

第一种 选择合适的分辨

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值