Я создал приложение, которое снимает и сохраняет фотографии. У меня есть предварительный просмотр и наложение поверх этого предварительного просмотра. Наложение определяет квадрат (область вокруг квадрата показывает предварительный просмотр немного темнее), как вы можете видеть на изображении:
Что мне нужно сделать, так это извлечь часть изображения, где квадрат является. Квадрат определяется следующим образом:
Rect frame = new Rect(350,50,450,150);
Как я могу это сделать? у меня есть массив байтов (данные byte[]), который я могу сохранить, но я хочу изменить приложение так, чтобы сохранялась только квадратная область.
Изменить: я пробовал следующее:
int[] pixels = new int[100000];
ByteArrayOutputStream bos = new ByteArrayOutputStream();
Bitmap bitmap = BitmapFactory.decodeByteArray(data , 0, data.length);
bitmap.getPixels(pixels, 0, 480, 350, 50, 100, 100);
bitmap = Bitmap.createBitmap(pixels, 0, 100, 100, 100, Config.ARGB_4444);
bitmap.compress(CompressFormat.JPEG, 0, bos);
byte[] square = bos.toByteArray();
а затем записать массив "квадрат" в новый файл... Проблема в том, что я получаю изображение, состоящее из линий... проблема с преобразованием, которое я сделал