Обрезка изображения на лету на Android - PullRequest
1 голос
/ 24 ноября 2011

Я выполняю утилиту OCR для Android, и я хотел бы обрезать изображение на лету, я имею в виду, сделать снимок и в обратном вызове JPEG иметь возможность обрезать изображение из байтового массива, который Android возвращает вам прежде чем сохранить его или что-то еще.

Исходная проблема заключается в том, что мне нужно сгенерировать растровое изображение из этого изображения, и, если оно имеет высокое разрешение, я получаю сообщение об ошибке «Растровое изображение превышает бюджет ВМ». Также я хотел бы обрезать изображение (автоматически, не позволяя пользователю сделать это) из-за времени обработки OCR.

Я видел BitmapRegionDecoder класс от Android 2.3.3 и выше, который делает все, что я хотел бы сделать, но мне нужно работать с более ранними версиями. Есть предложения?

Спасибо, ребята!

Ответы [ 2 ]

0 голосов
/ 25 ноября 2011

Наконец-то я понял, что только два возможных варианта, по-видимому, - хранить фотографию на SD-карте и работать с ней после или использовать собственную библиотеку (которая выделяется из кучи Dalvik VM, так что вы возможность использовать до 10 раз больше оперативной памяти, чем внутри виртуальной машины). Я думаю, что я решил сохранить его первым. Кажется, это проще сделать и поддерживать.

0 голосов
/ 24 ноября 2011

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

...