У меня есть экран камеры с прямоугольником (простой вид) внутри, чтобы сделать фотографию, пользователю нужно поместить объект внутри прямоугольника, после съемки приложение должно вырезать изображение и показывать только область внутри прямоугольника.
- Из
camera2
API я получаю изображение и конвертирую его вbitmap
. - У меня есть координаты прямоугольника на экране.
Проблема в том, что bitmap
width
/height
например 5472/7296, а координаты Rect
относятся к экрану устройства слева-114 сверху-764 ширина-852 высота-609, как я могу преобразовать его в область на растровом изображении, чтобы вырезать растровое изображение в Rect's
район.
Я вырезаю растровое изображение, используя
Bitmap createBitmap(Bitmap source, int x, int y, int width, int height)
Я пытался рассчитать в процентах, но это не идеально (около 5% неточности).