有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何将cwaccamera预览设置为使用scaleType centerCrop?

目前,cwac摄像机(https://github.com/commonsguy/cwac-camera)会放大图片的预览,然后在拍摄图片时,它的大小会有所不同

我更喜欢的是它像Snapchat一样工作,图像被裁剪直到填满整个屏幕,创建的图片也会做同样的事情

不幸的是,我看不到一种以这种低级方式配置预览的方法

我高估了getPreviewSize()并将其放入一个系统。在它里面,它似乎从来没有被称为也。我很困惑

  @Override
  public Camera.Size getPreviewSize(
      int displayOrientation, int width,
      int height,
      Camera.Parameters parameters) {

      Camera.Size size = CameraUtils.getOptimalPreviewSize(displayOrientation,
              width, height,
              parameters);

      System.out.println("getPreviewSize: " + size.width+"x"+size.height);

      return size;

  }

我真正的目标是拍摄与预览完全相同的照片

事实上,我甚至没有像cwac相机设计的那样直接保存图片(我将允许用户编辑图片,然后上传到互联网),所以如果有一种方法可以通过某种方式抓取预览图像,那也会很好


共 (1) 个答案

  1. # 1 楼答案

    事实证明,由于标志,getPreviewSize方法从未被调用

    If getRecordingHint() returns ANY or VIDEO_ONLY, though, CameraHost supplies the preview size via getPreferredPreviewSizeForVideo() instead of getPreviewSize(). If you wish to use a different preview size for video, return it, otherwise return null and we will use the results from getPreviewSize() instead.

    所以我重写了getRecordingHint(),让cwac摄像头知道我只处理静态图像,因此实际上实现了我的自定义getPreviewSize方法

      @Override
      public RecordingHint getRecordingHint() {
        return(RecordingHint.STILL_ONLY);
      }