2015-05-07 3 views
2

Я пытаюсь получить регион камеры Android, демаркированный для изображения (как на изображении ниже). Я хочу, чтобы на картинке отображалась только отмеченная область.Как установить границы для пользовательской камеры Android?

  1. Как создать пользовательскую камеру, которая отображает отмеченную область при открытии камеры (в моем приложении)?

  2. Как я могу сделать снимок только с отмеченной области?

enter image description here

ответ

0

Поскольку SurfaceView занимает больше места, чем вы внутренний прямоугольник, вам придется обрезать полученное изображение.

Применение Bitmap.createBitmap():

Возвращает неизменяемое растровое изображение из указанного подмножества исходного растрового изображения. Новый битмап может быть тем же самым объектом, что и источник, или может быть сделана копия. Он инициализируется с той же плотностью, что и исходное растровое изображение.

Pass это растровый и определить прямоугольник, из которого будет создан новый растровый:

// Take 42 pixels off 4 sides 
Bitmap croppedBmp = Bitmap.createBitmap(originalBmp, 42, 42, originalBmp.getWidth() - 42, originalBmp.getHeight() - 42); 
Смежные вопросы