Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
alexjj09
2 / 2 / 0
Регистрация: 04.05.2013
Сообщений: 61
#1

BitmapFactory не может обработать большое изображение с камеры

30.01.2015, 14:18. Просмотров 532. Ответов 1
Метки нет (Все метки)

Фотографирую, получаю byte[] data.
Далее
Java
1
2
3
4
5
6
7
8
9
10
11
Bitmap bmp;
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
Camera.Size previewSize = camera.getParameters().getPreviewSize();
YuvImage yuvimage=new YuvImage(data, ImageFormat.NV21, previewSize.width, previewSize.height, null);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
yuvimage.compressToJpeg(new Rect(0, 0, previewSize.width, previewSize.height), 80, baos);
byte[] jdata = baos.toByteArray();
 
// Convert to Bitmap
bmp = BitmapFactory.decodeByteArray(jdata, 0, jdata.length, options);
Декодить не получается - слишком большой размер.

Java
1
 Bitmap too large to be uploaded into a texture (3240x5760, max=4096x4096)
Какие применить options, или может как то data сжать?
Заранее спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.01.2015, 14:18
Ответы с готовыми решениями:

Перевернутое изображение камеры
при использовании камеры в приложении получается что картинка с камеры ...

Изображение с камеры вывести на RelativeLayout
Есть RelativeLayout на нем нет ничего (в дальнейшем будет несколько кнопок и...

Как обработать нажатие на изображение в элементе listView?
Как все знают, listView делится на множество элементов, нажатия на них можно...

Может кто написать простой код на основе MVP , заранее большое спасибо
Добрый день) Может кто написать коротенький код, в котором генерируется...

Bitmap & BitmapFactory
Вопрос к бывалым. У меня в метод передается параметр Byte data и дальше я из...

1
Gabberr
103 / 103 / 19
Регистрация: 13.10.2009
Сообщений: 404
30.01.2015, 14:38 #2
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int maxSize = 2048;
int height = 0;
int width = 0;
int inHeight = bitmap.getHeight();
int inWidth = bitmap.getWidth();
if(inWidth > inHeight) { // photo is landscape
    height =  (inHeight * maxSize) / inWidth;
    width = maxSize;
} else { // photo is portrait
    height = maxSize;
    width =  (inWidth  * maxSize) / inHeight;
}
 
Bitmap bitmapResized = Bitmap.createScaledBitmap(bitmap, width, height, true);
 
if(bitmapResized != null) {
   //set to textureView
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.01.2015, 14:38

BitmapFactory.decodeFile всегда возвращает null
Выбираю картинку с галереи, получаю полный путь к файлу, но...

Как все png файлы проекта взять в BitmapFactory.decodeResource?
все файлы, около 100 - слайды, находятся в папке raw. Как их от туда взять в...

Большое изображение на TV
Привет. Проблема такая: подключил телек к компу через композитный вход....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru