Я создал приложение, которое снимает и сохраняет фотографии.У меня есть предварительный просмотр и наложение поверх этого предварительного просмотра.Наложение определяет квадрат (область вокруг квадрата показывает предварительный просмотр немного темнее), как вы можете видеть на изображении:
пример
Что мне нужносделать, это извлечь часть изображения, где квадрат.Квадрат определяется следующим образом:
Rect frame = new Rect(350,50,450,150);
Как я могу это сделать?У меня есть байтовый массив (byte [] data), который я могу сохранить, но я хочу изменить приложение, чтобы сохранить только квадратную область.
Редактировать: я пробовал следующее:
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();
и затем записать массив "квадрат" в новый файл ... Проблема в том, что я получаю изображение из линий ... есть проблема с преобразованием, которое я сделал