autojs-camera2-自动对焦且无拉伸变形

简介: 牙叔教程 简单易懂

牙叔教程 简单易懂


全屏显示照相机拍摄画面

自动对焦

    // 设置自动曝光模式
    mPreviewBuilder.set(
      CaptureRequest.CONTROL_AF_MODE,
      new java.lang.Integer(CaptureRequest.CONTROL_AE_MODE_ON_AUTO_FLASH)
    );
    // 设置自动对焦模式
    mPreviewBuilder.set(
      CaptureRequest.CONTROL_AF_MODE,
      new java.lang.Integer(CaptureRequest.CONTROL_AF_MODE_CONTINUOUS_PICTURE)
    );


曝光代码可以删掉, 但是不可以放到对焦后面, 否则就不自动对焦了

解决camera2拉伸变形

    let viewWidth = mTextureView.getWidth();
    let viewHeight = mTextureView.getHeight();
    let scale = mPreViewSize.getWidth() / viewHeight;
    viewWidth *= scale;
    viewHeight *= scale;
    let matrix = new Matrix();
    let viewRect = new RectF(0, 0, viewWidth, viewHeight);
    let bufferRect = new RectF(0, 0, mPreViewSize.getHeight(), mPreViewSize.getWidth());
    matrix.setRectToRect(viewRect, bufferRect, Matrix.ScaleToFit.FILL);
    let translateX = (mPreViewSize.getWidth() - mTextureView.getHeight()) / 2;
    matrix.postTranslate(-translateX, 0);
    mTextureView.setTransform(matrix);


镜头拍摄的画面, 大概是一个正方形, 全屏显示的话, 手机是长方形, 这就是拉伸变形的原因;

通过对matrix的缩放和平移, 可以解决该问题

以上就是初学camera2问题最频繁的两个点,

相关教程

https://www.yuque.com/go/doc/61682400

参考

Camera安卓官方例子

名人名言


思路是最重要的, 其他的百度, bing, stackoverflow, github, 安卓文档, autojs文档, 最后才是群里问问
--- 牙叔教程


声明


部分内容来自网络
本教程仅用于学习, 禁止用于其他用途

相关文章
|
6月前
|
图形学
【unity小技巧】实现FPS武器的瞄准放大效果(UGUI实现反向遮罩,全屏遮挡,局部镂空效果)
【unity小技巧】实现FPS武器的瞄准放大效果(UGUI实现反向遮罩,全屏遮挡,局部镂空效果)
81 1
|
7月前
|
API
Camera2预览方向、拍照方向设置
Camera2预览方向、拍照方向设置
479 2
|
编解码 Dart
Flutter如何获取屏幕的分辨率和实际画布的分辨率
Flutter如何获取屏幕的分辨率和实际画布的分辨率
Flutter的AspectRatio控件实现视频播放、图片播放按照长宽比缩放
Flutter的AspectRatio控件实现视频播放、图片播放按照长宽比缩放
|
算法 计算机视觉 iOS开发
iOS使用OpenCV之调整图片亮度和对比度(一)
iOS使用OpenCV之调整图片亮度和对比度(一)
iOS使用OpenCV之调整图片亮度和对比度(一)
|
iOS开发
IOS手指控制图片的缩放
IOS手指控制图片的缩放
64 0
|
编解码 算法 计算机视觉
案例分享:Qt内窥镜相机录像程序(打开摄像头、支持多种摄像头、分辨率调整、翻转、旋转、亮度调整、拍照、录像、回放图片、回放录像)
案例分享:Qt内窥镜相机录像程序(打开摄像头、支持多种摄像头、分辨率调整、翻转、旋转、亮度调整、拍照、录像、回放图片、回放录像)
案例分享:Qt内窥镜相机录像程序(打开摄像头、支持多种摄像头、分辨率调整、翻转、旋转、亮度调整、拍照、录像、回放图片、回放录像)
SwiftUI—使用withAnimation制作缩放和渐隐动画
SwiftUI—使用withAnimation制作缩放和渐隐动画
1018 0
SwiftUI—使用withAnimation制作缩放和渐隐动画
鼠标控制物体旋转、移动、缩放(Unity3D)
Unity3D对于鼠标操作物体的旋转、移动、缩放的功能点使用的比较多。 今天就分享如何使用Unity实现鼠标对于物体的旋转、移动、缩放。