Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
Russtem81
3 / 3 / 1
Регистрация: 15.10.2015
Сообщений: 59
1

Массив ссылок на изображения из ресурсов

26.10.2015, 15:01. Просмотров 1376. Ответов 8
Метки нет (Все метки)

Подскажите как сформировать массив ссылок на изображения из ресурсов проекта.
Необходимо для чтения изображения схем и дальнейшего их вывода в ListView.
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.10.2015, 15:01
Ответы с готовыми решениями:

Вывод изображения из ресурсов
Хотелось бы, чтобы на весь экран вывелась картинка, но этого не происходит. Картинку формата jpg...

Загрузка изображения bmp из ресурсов
господа я поднимал конечно уже тему,заранее прошу прощение за нарушение правил,но там было не...

Показ случайного изображения из ресурсов
Кто знает как реализовать показ картинки из ресов случайной в picturebox?

Можно ли отображать изображения с других ресурсов?
Можно ли отображать изображения с других ресурсов? И как? Вот с этим кодом у меня не отображается:...

Загрузка изображения из ресурсов в Image WPF
Ну никак не получается загрузить изображения из ресурса, всегда ошибка. Уже все что нашел в...

8
Pablito
2831 / 2251 / 760
Регистрация: 12.05.2014
Сообщений: 7,854
Завершенные тесты: 1
26.10.2015, 15:13 2
Лучший ответ Сообщение было отмечено Russtem81 как решение

Решение

arrays.xml заводим массив (названия файлов подставить свои)
XML
1
2
3
4
5
6
7
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <array name="myDrawables">
        <item>@drawable/ic_add_white_24dp</item>
        <item>@drawable/ic_close_white_24dp</item>
    </array>
</resources>
доступаемся к массиву
Java
1
2
        TypedArray images = getResources().obtainTypedArray(R.array.myDrawables);
Drawable drawable = images.getDrawable(0);// первая картинка и так далее
1
Russtem81
3 / 3 / 1
Регистрация: 15.10.2015
Сообщений: 59
26.10.2015, 18:13  [ТС] 3
а как можно получить bitmap из этого массива?
0
Pablito
2831 / 2251 / 760
Регистрация: 12.05.2014
Сообщений: 7,854
Завершенные тесты: 1
27.10.2015, 09:27 4
ну первое, что пришло в голову - сделать
Java
1
Bitmap myBitmap = ((BitmapDrawable) drawable).getBitmap();
еще есть метод BitmapFactory.decodeResource() с разными входными параметрами, но я так не делал, поэтому х.з.
0
Russtem81
3 / 3 / 1
Регистрация: 15.10.2015
Сообщений: 59
27.10.2015, 09:34  [ТС] 5
есть подозрение что пошел не тем путем, можешь подсказать как правильно решить задачу.
1. Необходимо пользователю предоставить ListView изображений из ресурсов.
2. Необходимо предоставить возможность пользователю масштабировать изображения.
В общем стандартная галлрея ограниченная моим массивом изображении из ресурсов.

Добавлено через 57 секунд
Изображения планируется грузить схемы(чертежи), есть только в формате jpg.
0
Pablito
27.10.2015, 09:39
  #6

Не по теме:

я так сходу ничего и не подскажу, а сочинять не хочется )
подождем монстров разработки

0
Russtem81
3 / 3 / 1
Регистрация: 15.10.2015
Сообщений: 59
27.10.2015, 09:50  [ТС] 7
Речь не идет о коде, а о концепции решения не может оно быть на столько геморным.

1. Задача по нормализации изображения решена, проверенно работает.
http://developer.android.com/intl/ru...ad-bitmap.html
2. Формирование списка из нормализованных изображений, задача в процессе.
3. Масштабирование изображения, шикарный пример по обработке матрицы изображения ч/з слушателя ScaleGestureDetector.SimpleOnScaleGestureListener
http://www.c-sharpcorner.com/UploadF...android-using/.
Частично решена т.к. после выполнения п.1 при масштабировании мелкие выноски на чертеже сложно разобрать.
P.S. Вариант http://habrahabr.ru/sandbox/42926/ с WebView не рассматривался т.к. не понятно как грузить вместо URL свои ресурсы.
0
bastrakov
91 / 91 / 14
Регистрация: 10.10.2015
Сообщений: 307
Записей в блоге: 1
27.10.2015, 17:33 8
решение на базе webview делается за вечер. (при развитии проекта могут быть проблемы)

да, чертежи, как и их превью, должны быть не в ресурсах, а ИЛИ в assets, или вообще на внешнем ресурсе, в любой папке системы. для отображения Вам надо просто знать точный полный путь до.

самый простой путь: делаете тупое web-решение по Вашей задаче. проверяете, что бы оно все работало как надо в эмуляторе хрома. потом переносите в android, поправляете пути для правильного отображения.

если картинки критично должны быть из ресурсов - ну можно их копировать как файлы в файловую систему, и дальше как описано выше.

другой подход - почти Ваш. только берите не пример по обработке матрицы, а что-то рабочее в виде компонента. я только что затащил в проект TouchImageView, но Вам может лучше подойти PhotoView или ImageViewZoom например.
1
Russtem81
3 / 3 / 1
Регистрация: 15.10.2015
Сообщений: 59
27.10.2015, 19:09  [ТС] 9
Задачи 1 и 2 решены. Момент по формированию файлового хранилища чертежей пока не рассматривал т.к. задача тривиальная(скопировал, сформировал масивы и алга).
Задача 2 решена с помощью примера http://www.androidhive.info/2012/02/android-gridview-layout-tutorial/, передалал для ListView.
Класс для формирования ListView:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public class AndroidGridLayoutActivity extends Activity {
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.listview);
 
        ListView myList = (ListView)findViewById(R.id.lvImages);
        myList.setAdapter(new ImageAdapter(this));
        myList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View v,
                                    int position, long id) {
 
                // Sending image id to FullScreenActivity
                Intent i = new Intent(getApplicationContext(), FullImageActivity.class); //запускаем активность которая //грузит полное изображение
                // passing array index
                i.putExtra("id", position);
                startActivity(i);
            }
        });
    }
}
Задача 3 вывод полноценного изображения, в этой активности использую класс какого то индуса TouchImageView который позволяет масштабировать изображение рассматривать его, но блин эта зараза естественно загибается Out of Memory если скормить ей jpg 300kB м/б и разрешением 1250*1500.


Вы правы масштабируемость критична.

Добавлено через 50 минут
Спасибо за наводку на PhotoView это то что доктор прописал.
Протестил чертежи читает достойно без потери качества нет необходимости велосипед изобретать)))
Ложка дегтя, попытался скормить jpg 5 mb 5700 на 2900 PhotoView загнулся) хорошо что мне это не нужно.
Доделаю обязательно вернусь к этому вопросу, как все же работает стандартная галерея или это фальш и она выводить и масштабирует не реальные фотки с кучамегапиксельной камеры а лишь их образ?
0
27.10.2015, 19:09
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.10.2015, 19:09

Программная загрузка изображения из ресурсов в Image WPF
Всем привет, знакомлюсь с C#, начал с WPF, пытаюсь программно загрузить картинку в Image,...

Вывод ссылок на изображения
&lt;? $query = &quot;SELECT id_photos FROM `photo` where id_album='$id_album'&quot;;// гетом получаем id...

Привязка внешних ссылок на фрагменты изображения, выделение фрагментов
Здравствуйте! Подскажите, пожалуйста, по такому вопросу. Имеется веб-сайт, на котором есть...


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

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

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