【问题标题】:Crop the certain portion of image based on view placed on camera根据放置在相机上的视图裁剪图像的特定部分
【发布时间】:2019-07-22 11:45:20
【问题描述】:

您需要从图像视图中或通过相机捕获图像时剪切特定部分。如下所示

请帮帮我。

我试过了,我不得不裁剪矩形形状,而不是自定义形状。这是我为矩形做的代码

   val bh = bitmap.height
        val bw = bitmap.width
        val width = vF_atv_camera_preview!!.width;
        val height = vF_atv_camera_preview!!.height;
        val location = IntArray(2)
        vL_atv_box!!.getLocationOnScreen(location);
        val l = location[0] * bw / width
        val t = location[1] * bh / height
        val w = vL_atv_box!!.getWidth() * bw / width;
        val h = vL_atv_box!!.getHeight() * bh / height;
        val resizedBitmap = Bitmap.createBitmap(bitmap, l, t, w, h);

【问题讨论】:

  • 请贴出代码。以便我们知道您到目前为止尝试了什么。

标签: android image crop


【解决方案1】:

您可以将 Camera2 预览投影到 TextureView(它比 SurfaceView 更灵活和“易于管理”),然后在其下方放置一个普通的“ImageView”,在其 Drawable 中有这两个孔。

如您所见,中心有一个小的 TextureView,其顶部和底部有两个 ImageView,显示渐变(白色到透明的 Shape Drawable),但纵向模式下的相机正在填充整个空白区域。

【讨论】:

  • 谢谢!我如何从中裁剪特定部分。请您详细说明一下。这将非常有帮助。
  • 感谢您的更新!但似乎我不会得到裁剪的图像。我想要裁剪孔图像的位图。
  • @user 获取孔的位图并保持预览稳定的帧速率可能是不可能的,因为设备不能足够快地裁剪位图以确保平滑预览。如果您对单个“屏幕截图”感兴趣,您可以拍摄预览图像,然后使用位图蒙版对其进行裁剪。
猜你喜欢
  • 1970-01-01
  • 2020-06-22
  • 2012-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-27
  • 2019-02-23
相关资源
最近更新 更多