将View Rect坐标转换为位图区域

问题描述 投票:0回答:1

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

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

[问题是bitmapwidth/ height例如5472/7296,并且Rect坐标与设备屏幕左侧114顶部764宽度852高度609有关,我如何转换将其剪切到位图上的区域以剪切Rect's区域中的位图。

我正在切割位图使用

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

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

android bitmap android-camera android-camera2
1个回答
0
投票
所以解决方案是将位图缩放到屏幕大小。

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

然后按Rect坐标进行裁切

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

© www.soinside.com 2019 - 2024. All rights reserved.