2 / 2 / 1
Регистрация: 14.11.2014
Сообщений: 119
1

ImageView большого размера

06.10.2015, 08:49. Показов 1197. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет, подскажите как правильно сделать , у меня есть картинка большого размера 4000х2000 и при загрузке в imageview начинает тормозить ,мне нужно сделать чтоб не урезать размер и загружать его , делаю так но размер получается урезаный
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
private void setPic() {
    // Get the dimensions of the View
    int targetW = mImageView.getWidth();
    int targetH = mImageView.getHeight();
 
    // Get the dimensions of the bitmap
    BitmapFactory.Options bmOptions = new BitmapFactory.Options();
    bmOptions.inJustDecodeBounds = true;
    BitmapFactory.decodeFile(mCurrentPhotoPath, bmOptions);
    int photoW = bmOptions.outWidth;
    int photoH = bmOptions.outHeight;
 
    // Determine how much to scale down the image
    int scaleFactor = Math.min(photoW/targetW, photoH/targetH);
 
    // Decode the image file into a Bitmap sized to fill the View
    bmOptions.inJustDecodeBounds = false;
    bmOptions.inSampleSize = scaleFactor;
    bmOptions.inPurgeable = true;
 
    Bitmap bitmap = BitmapFactory.decodeFile(mCurrentPhotoPath, bmOptions);
    mImageView.setImageBitmap(bitmap);
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.10.2015, 08:49
Ответы с готовыми решениями:

Масштабирование ImageView в процентах от размера дисплея
Всем привет! У меня такой вопрос образовался по разметке интерфейса, сделал прокручиваемый layout,...

Скопировать картинку из одной ImageView в другую ImageView
В ImageView поставлена картинка методом setImageResource. По нажатию на неё, нужно такую-же...

как открыть картинку (и по возможности большого размера 10000х12000)
Всем привет! уже перепробовал множество вариантов : пробовал в имадж_вью но остановился на...

Появление ImageView после нажатия на ImageView
Добрый день, столкнулся с проблемой. По задумке после нажатия на одно из ImageView в верхнем ряду...

5
435 / 101 / 15
Регистрация: 21.02.2015
Сообщений: 845
06.10.2015, 14:33 2
смотри чему равен
targetW
targetH
photoW
photoH
сильно урезается? на половину?
0
2 / 2 / 1
Регистрация: 14.11.2014
Сообщений: 119
06.10.2015, 15:56  [ТС] 3
Valakin, почти в 2 раза
0
266 / 242 / 96
Регистрация: 11.01.2015
Сообщений: 673
06.10.2015, 16:11 4
Leks2, а что ты тут вообще делаешь? Если ты не хочешь обрезать картинку,
то почему прост не сделать так:
Java
1
2
Bitmap bitmap = BitmapFactory.decodeFile(mCurrentPhotoPath);
mImageView.setImageBitmap(bitmap);
ну а тормозит оно скорее всего потому, что такое изображение в памяти
занимает 30.5Мб(если в формате ARGB_8888) + ты его 2 раза декодируешь.
0
43 / 43 / 21
Регистрация: 24.08.2015
Сообщений: 136
06.10.2015, 17:17 5
Leks2, inSampleSize нужно подгонять так, чтобы изображение получилось максимально близко к требуемым размерам, но было бы больше их. link Возможно у тебя неправильный inSampleSize или ImageView урезан.
2
2 / 2 / 1
Регистрация: 14.11.2014
Сообщений: 119
06.10.2015, 17:30  [ТС] 6
zealot01, ок ,понял спасибо все за ответ
0
06.10.2015, 17:30
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.10.2015, 17:30
Помогаю со студенческими работами здесь

Файл или массив большого размера вывести на экран через буфер маленького размера
Приветствую! Суть: нужно продеть слона int slon длиной 13467 через игольное ушко byte uho = new...

Dxl из БД большого размера.
У меня есть база 5.8 гб, на ее основе создаю dxl файл,при его создании предварительно создается...

Шифрование файла большого размера
Вопрос нубского характера. Как зашифровать алгоритмом AES файл большого размера, основываясь на том...

Работа с файлами большого размера
Здравствуйте. Сегодня столкнулся с такого задачей: "Есть текстовый файл, размером 100 мб и больше,...

Перезапись файла большого размера
Помогите реализовать запись в тот же файл с которого было произведено чтение через...

Умножение матриц большого размера
Как объявить матрицу из целых чисел размера NxN если это N <=1024? Нужно написать умножение матриц...


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

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

Новые блоги и статьи
Из чего и как собрать свой домашний кинотеатр
bt_guru 21.01.2025
Создание домашнего кинотеатра: от идеи до реализации В современном мире домашний кинотеатр стал неотъемлемой частью комфортного жилого пространства, предоставляя возможность наслаждаться. . .
Ошибки стиральных машин
bt_guru 21.01.2025
Современные стиральные машины представляют собой сложные электронные устройства, оснащенные множеством датчиков и систем контроля. Они способны самостоятельно определять вес загруженного белья,. . .
Копирование (маппинг) объектов в JavaScript
bytestream 21.01.2025
В современной разработке программного обеспечения копирование объектов представляет собой фундаментальную операцию, которая требует особого внимания и понимания. Маппинг объектов в JavaScript – это. . .
Как работать с Apache Kafka в C# .NET
bytestream 21.01.2025
Apache Kafka представляет собой распределенную платформу потоковой передачи данных, которая произвела революцию в области обработки больших объемов информации в реальном времени. Эта система,. . .
Как использовать RabbitMQ в C# .NET
bytestream 21.01.2025
RabbitMQ представляет собой мощный брокер сообщений, который эффективно решает эту задачу, обеспечивая надежную передачу данных между множеством приложений. Этот инструмент реализует протокол AMQP. . .
Как объединить последние коммиты в Git
bytestream 21.01.2025
В мире разработки программного обеспечения система контроля версий Git стала незаменимым инструментом для управления исходным кодом. Одной из наиболее полезных, но порой сложных для освоения функций. . .
Как запушить новую локальную ветку (branch) в удалённый репозиторий Git и отслеживать её
bytestream 21.01.2025
В современной разработке программного обеспечения система контроля версий Git стала неотъемлемым инструментом для эффективного управления кодом и организации командной работы. Одной из ключевых. . .
Как создать директорию и все родительские директории, указанные в пути, с помощью Python
bytestream 21.01.2025
Python предоставляет мощные инструменты для работы с файловой системой через встроенные модули os и pathlib, которые значительно упрощают процесс манипуляции директориями. Эти модули содержат. . .
Как работать с массивами в JavaScript
bytestream 21.01.2025
Массивы в JavaScript представляют собой один из фундаментальных типов данных, который позволяет хранить упорядоченные коллекции различных элементов в одной переменной. Эта структура данных является. . .
Какая максимальная длина адреса (URL) в различных браузерах и стандартах
bytestream 21.01.2025
В современном мире интернет-технологий URL-адреса (Uniform Resource Locator) играют фундаментальную роль в функционировании веб-пространства. Эти уникальные идентификаторы ресурсов стали неотъемлемой. . .
Как сбросить локальный репозиторий до состояния удалённого репозитория Git
bytestream 21.01.2025
При разработке программного обеспечения с использованием системы контроля версий Git разработчики часто сталкиваются с необходимостью синхронизации локального и удаленного репозиториев. Данная задача. . .
Как запретить подсветку выделенного текста с помощью CSS
bytestream 20.01.2025
Подсветка текста при выделении является стандартным поведением браузера, которое не всегда соответствует дизайнерским решениям или функциональным требованиям веб-приложения. Выделение текста может. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru