当前位置: 首页 > 知识库问答 >
问题:

Android相机预览捕获/调整捕获图像大小以匹配预览

毛德曜
2023-03-14
    null
    null

当然,任何其他建议都将不胜感激。

注意:也有类似的问题,我花了几个小时来研究,但没有一个正确地解决了我的问题,也没有给出足够的细节。

共有1个答案

杨赞
2023-03-14

我使用了两个TextureView组件:

  • 一个设置为0.5 alpha,并使用RelativeLayout放置在另一个之上。
  • 让不透明的TextureView注册SurfaceTextureListener
  • 启动由所述监听器中可用的onSurfaceTextureAvailable触发的摄像机
  • 将给定的SurfaceTexture设置为PreviewTexture
  • 按下按钮时,在透明文本回顾的画布上绘制getBitmap()

java(实现SurfaceTextureListener):

@Override
public void onClick(View view) {
{
    Canvas canvas = alphaCameraTextureView.lockCanvas();
    canvas.drawBitmap( cameraTextureView.getBitmap(), 0, 0, null );
    alphaCameraTextureView.unlockCanvasAndPost( canvas );
}

@Override
public void onSurfaceTextureAvailable( SurfaceTexture surfaceTexture, int width, int height )
{
    try
    {
        camera = Camera.open();
        camera.setDisplayOrientation( 90 );
        camera.setPreviewTexture( surfaceTexture );
        camera.startPreview();
    }
    catch (IOException e ) { e.printStackTrace(); }
}

@Override
public boolean onSurfaceTextureDestroyed( SurfaceTexture surfaceTexture )
{
    camera.stopPreview();
    camera.release();
    return false;
}
<TextureView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/cameraTextureView"
    android:layout_weight="0"/>

<TextureView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/alphaCameraTextureView"
    android:alpha="0.5"
    android:layout_weight="0" />
 类似资料:
  • 我正在使用来显示我捕获的预览。我想使用宽度=1080,高度=1920作为预览。在哪里可以设置预览的大小? 我用谷歌搜索了答案,但它们都是相机版本一的。我正在使用android.hardware.camera2。

  • AVCaptureDevice有一个名为isVideoHDREnabled的属性。它是否只影响预览,还是也影响捕获的图像?文档中没有说明。 我希望我的应用程序能够自动拍摄HDR图像,前提是iOS确定它对正在拍摄的场景是有保证的。在支持时启用它是否有任何不利之处? 我知道并非所有设备/摄像头组合都支持此功能。问题是当它是的时候它会做什么。

  • 请帮助正确配置Android摄像头(在HTC Desire 2.3.3上测试),以便在旋转(人像)模式下从摄像头预览。预览必须占用屏幕的一半以下,它的宽度必须等于设备的宽度,缩放必须根据相机的纵横比动态设置。我的当前代码: 活动布局: AndroidManifest配置为肖像: 你可以看到图像的比例不对。如何使以适当的比例显示旋转和缩放相机预览? 部分代码取自Mixare开源项目,http://w

  • 我已经开发了一个应用程序来拍摄一张照片并保存在画廊里。我在网上搜索过,我能练习的最简单的方法就是使用。下面是从相机上拍照的代码。注意,我在这个类中使用的是fragment。 获取捕获的图像并将其转换为字符串 我将字符串保存到全局变量中,以便其他活动可以访问它。在另一个活动中,我有一个按钮,通过访问图像字符串将图像保存到文件夹/图库中。 它可以将图像保存到文件夹/图库中......但是图像质量很低.

  • 我一直在努力在Android上制作我的自定义相机活动,但当旋转相机时,表面视图的纵横比会变得混乱。 在我的oncreate for the activity中,我设置了framelayout,它保存了显示相机参数的曲面视图。 然后,在曲面视图中,我设置要显示的相机参数 您可以看到,当手机旋转时,乐高男会变得更高、更瘦: 如何确保相机视图的纵横比正确?

  • 我想首先捕获图像并将其查看到ImageView,然后单击将图像保存到FireBase。