Camera预览图像拉伸

修复Bug:

现象:原生Camera调用,预览的图像出现拉伸.

解决过程三大步骤:

  1. 首先根据机型获得一个最佳预览比例
  2. 根据第一步的最佳预览比例设置好预览View的宽高
  3. Camera.Parameter的一些相关设置

按步骤:

一 . 获取个最佳预览且Camera可支持的比例,如该项目针对的机型为640 x 480.
二 . 通过上述比例进行给预览的View设定宽高.
  1. 获取当前机型屏幕宽高,分别赋值为mWidth,mHeight
  2. 由于最佳比例是640x480,分别赋值 pWidth=640, pHeight=480
  3. 设定个临时值 int temp = mWidth > mHeight ? mHeight : mWidth; 即宽高最小值.
  4. 去屏幕宽高的流程如下:
Created with Raphaël 2.1.0 开始 Camera设备是否需要旋转90度? vWidth = temp; vHeight = temp * pWidth / pHeight; Camera.Parameters p;p.setPreviewSize(pWidth,pHeight); 结束 vWidth = temp; vHeight = temp * pHeight / pWidth; yes no

问题:设置好参数后,应用不崩溃图形不动

Camera 开发注意

完成参数的设置后
  1. 给mCamera.Lock()锁上
  2. 设置预览的SurfaceViewHolder
    • mCamera.setPreviewDisplay(mSurfaceHolder);
  3. 开启预览: mCamera.startPreview().
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值