【问题标题】:Convert View Rect coordinates to bitmap area将 View Rect 坐标转换为位图区域
【发布时间】:2020-05-14 18:33:41
【问题描述】:

我有一个带有矩形(简单视图)的相机屏幕,要拍照用户需要将对象放置在矩形内,拍照后应用程序需要剪切图像并仅显示矩形内的区域。

  • camera2 api 我接收图像并将其转换为bitmap
  • 屏幕上有矩形坐标。

问题是 bitmap width/height 例如 5472/7296 和 Rect 与设备屏幕相关的坐标 left-114 top-764 width-852 height-609,我怎么能将其转换为位图上的区域以切割Rect's 区域中的位图。

我正在使用切割位图

Bitmap createBitmap(Bitmap source, int x, int y, int width, int height)

我试过用百分比来计算,但并不理想(大约 5% 的误差)。

【问题讨论】:

    标签: android bitmap android-camera android-camera2


    【解决方案1】:

    所以解决方案是将位图缩放到屏幕大小。

    Bitmap bitmap = BitmapUtil.scaleBitmap(bitmap, screenWidth, screenHeight);
    

    然后按Rect 坐标进行裁剪

    Bitmap cropBitmap = Bitmap.createBitmap(bitmap, rect.left, rect.top, rect.width(), rect.height());
    

    【讨论】:

    • 我试过了,它有点帮助,但它会影响质量和纵横比?我也在努力解决同样的问题。我需要裁剪矩形部分内的图像,但无法做到。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-20
    相关资源
    最近更新 更多