Я создаю приложение для камеры, подобное сканеру штрих-кода, показанному на картинке. Мне нужно использовать как API , так и android.hardware.camera2
API для поддержки API андроида> = 19.Изображение обложки для камеры Android
Основная идея состоит в том, чтобы иметь предварительный просмотр камеры на весь экран, но сохранять только часть, которая не затемнена (или сфотографировать область, которая не потемнеет). Я уже сделал некоторые исследования и понял, что невозможно сделать только часть изображения через Camera
и android.hardware.camera2
API (но я не уверен на 100%). Поэтому я думаю, что мне нужно сделать некоторые манипуляции над массивом байтов (сжатым в JPEG), который я получаю в результате захвата камеры.
Я пытался использовать BitmapRegionDecoder таким образом:
BitmapRegionDecoder decoder = BitmapRegionDecoder.newInstance(bytes, 0, bytes.length, false);
Bitmap bitmap = decoder.decodeRegion(new Rect(500, 500, 1500, 1500), null);
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, output);
Где bytes
является JPEG сжимаются результат захвата камеры. Но этот подход меняет ориентацию изображения и не обрезает область, определенную с помощью Rect
(на самом деле обрезает другую часть изображения)
Я был бы признателен за любые предложения и подсказки о том, как добиться желаемого поведения.
Вы получили это за работу? – Carpetfizz