Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
 
lifeforce
122 / 82 / 19
Регистрация: 27.09.2010
Сообщений: 581
#1

как открыть картинку (и по возможности большого размера 10000х12000) - Программирование Android

14.02.2016, 23:36. Просмотров 715. Ответов 21
Метки нет (Все метки)

Всем привет!
уже перепробовал множество вариантов : пробовал в имадж_вью но остановился на вэб_вью.
где-то в коде чего-то не указал и при этом появляется "веб страница не доступна или отключена. "

код активити
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.os.Environment;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebView;
import android.widget.ImageView;
 
 
import java.io.File;
import java.net.URI;
 
public class ActivityTwo extends AppCompatActivity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_activity_two);
 
 
       // File sdPathS = Environment.getExternalStorageDirectory();
        // sdPathS = public File(sdPathS.getAbsolutePath() + "//DCIM//Karta_rajona_sat.jpg");//
 
       // Uri uri= Uri.parse(sdPathS.getAbsolutePath() + "//DCIM//Karta_rajona_sat.jpg");
        //ImageView imageView = (ImageView) findViewById(R.id.imageView);
        //imageView.scrollBy(100,100);
       // imageView.getScrollBarSize();
       // imageView.setImageURI(uri);//"/mnt/sdcard/DCIM/Karta_rajona_sat.jpg"
        //imageView.setImageURI(URI.parse("file://mnt/sdcard/cat.jpg"));
      // sdPathS   = (ImageView)findViewById(R.id.imageView);
      //  imageView.setImageDrawable(Drawable.createFromPath(uri.getPath()));//"//mnt//sdcard//DCIM//Karta_rajona NODE map.jpg"
        WebView WV = (WebView)findViewById(R.id.webView);
        WV.getSettings().setSupportZoom(true);
        WV.getSettings().setBuiltInZoomControls(true);
        WV.setPadding(0, 0, 0, 0);
        WV.setScrollbarFadingEnabled(true);
        WV.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
        WV.loadUrl(uri.getPath());
 
    }
 
    File sdPathS = Environment.getExternalStorageDirectory();
   // sdPathS = public File(sdPathS.getAbsolutePath() + "//DCIM//Karta_rajona_sat.jpg");//
 
    Uri uri= Uri.parse(sdPathS.getAbsolutePath() + "/DCIM/Karta_rajona_sat.jpg");
    //Uri.fromFile( new File(sdPathS.getAbsolutePath() + "//DCIM//Karta_rajona_sat.jpg") );
    // ImageView imageView = (ImageView) findViewById(R.id.imageView);
    // imageView.setImageURI(uri);//"/mnt/sdcard/DCIM/Karta_rajona_sat.jpg"
}
подскажите как открыть картинку в веб_имадж?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.02.2016, 23:36
Здравствуйте! Я подобрал для вас темы с ответами на вопрос как открыть картинку (и по возможности большого размера 10000х12000) (Программирование Android):

ImageView большого размера - Программирование Android
Всем привет, подскажите как правильно сделать , у меня есть картинка большого размера 4000х2000 и при загрузке в imageview начинает...

Открыть картинку в новом активити - Программирование Android
Приветствую уважаемые разрабы. Сразу извиняюсь если написал не в той ветке. Задача такая : есть 2 бланка активити : на первом несколько...

Форма максимального размера без возможности уменьшения размера - Visual Basic .NET
Мне необходимо сделать так, чтобы при запуске форма программы была развернута на весь размер монитора и чтобы не было возможности изменить...

Как создать массив большого размера - C++
В программе будет использоваться массив большого размера. Оперативная память - 512 МБ Создаю массив: char lol; Выдает ошибку :...

Как создать массив большого размера? - VBA
Мне необходимо создать массив очень большой размерности - порядка 300 строк на 29^5*5 (=102.555.745) колонок, но выдается ошибка, что...

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
YuraAAA
1574 / 1316 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 2
14.02.2016, 23:43 #2
lifeforce, "как открыть картинку (и по возможности большого размера 10000х12000)?" - Никак. Конец.
0
lifeforce
122 / 82 / 19
Регистрация: 27.09.2010
Сообщений: 581
14.02.2016, 23:45  [ТС] #3
YuraAAA, и чё??? безвыходное положение???

Добавлено через 48 секунд
этот код даже и маленькую картинку не открывает!
0
YuraAAA
1574 / 1316 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 2
15.02.2016, 00:50 #4
lifeforce, памяти не хватит загрузить такую картинку. А где у Вас они лежат? Путь 100% неправильный
0
lifeforce
122 / 82 / 19
Регистрация: 27.09.2010
Сообщений: 581
15.02.2016, 00:56  [ТС] #5
YuraAAA,
сейчас пытаюсь создать кеш.
вроде правильно указан
пробовал и 1мегабайт картинку - тоже не грузит. а в имадж вью отображает (если маленькая картинка конечно-же).
0
Миниатюры
как открыть картинку (и по возможности большого размера 10000х12000)  
YuraAAA
1574 / 1316 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 2
15.02.2016, 01:03 #6
Цитата Сообщение от lifeforce Посмотреть сообщение
сейчас пытаюсь создать кеш.
Кэш чего, для чего и где?
Нельзя так открыть картинку.
Java
1
2
3
4
5
6
7
8
WV= (WebView) findViewById(R.id.webview);
WV.getSettings().setAllowFileAccess(true);
WV.getSettings().setJavaScriptEnabled(true);
WV.getSettings().setBuiltInZoomControls(true);
String base = Environment.getExternalStorageDirectory().getAbsolutePath().toString();
String imagePath = "file://"+ base + "/Karta_rajona_sat.jpg";
String html = "<html><head></head><body><img src=""+ imagePath + ""></body></html>";
WV.loadDataWithBaseURL("", html, "text/html","utf-8", "");
1
lifeforce
122 / 82 / 19
Регистрация: 27.09.2010
Сообщений: 581
15.02.2016, 01:17  [ТС] #7
YuraAAA,

какой-то прогресс есть!
а в этой строке похоже была опечатка.
Java
1
String html = "<html><head></head><body><img src="+ imagePath +"></body></html>";
ошибки при загрузке не выдает но и изображение тоже нет
0
Миниатюры
как открыть картинку (и по возможности большого размера 10000х12000)  
Lumber
99 / 99 / 37
Регистрация: 02.12.2015
Сообщений: 239
15.02.2016, 01:21 #8
Не стал бы так категорично утверждать что большую картинку вообще никак не открыть. Можно по частям загружать и показывать или масштабировать. В памяти она не обязана целиком находится в декодированном виде.
0
lifeforce
122 / 82 / 19
Регистрация: 27.09.2010
Сообщений: 581
15.02.2016, 01:24  [ТС] #9
Lumber,
допустим мне нужно открыть картинку на экране в нормальном масштабе, но только ее часть по координатам Х и У .
если это возможно то как реализовать?
0
YuraAAA
1574 / 1316 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 2
15.02.2016, 01:35 #10
Lumber, боюсь спросить как Вы это реализовывать собрались. И тем более, зачем.

Добавлено через 6 минут
Lumber, и как же она будет храниться в памяти?
0
Lumber
99 / 99 / 37
Регистрация: 02.12.2015
Сообщений: 239
15.02.2016, 01:42 #11
Есть разные пути:

1. Поискать библиотеки которые могут распаковывать JPG по частям.

2. Написать свой декодер JPG который это может. Думаю это довольно затратно.

3. Нарезать картинку на множество мелких квадратов. 512*512 например (jpg можно нарезать без перекодирования и без потери качества если размер фрагмента кратен 8 пикселам). Загружать и показывать те которые в данный момент на экране видны. При прокрутке новые подгружать, старые освобождать. Кусочки картинки можно в SQLite хранить.

Цитата Сообщение от YuraAAA Посмотреть сообщение
И тем более, зачем.
растровая карта. спутниковые снимки.
1
lifeforce
122 / 82 / 19
Регистрация: 27.09.2010
Сообщений: 581
15.02.2016, 01:55  [ТС] #12
точно такую-же программу я написал на С++ . и там чтоб работать с картой (канва и прочее) картинка должна быть в BMP . естественно сто если карта спутник 35мега то в бмп она станет 345 мега. но для компа это не проблема.
сейчас хочу реализовать похожую программу на андроид. только поиск по координатам . типа есть координата Х У которую я знаю - теперь мне надо переместиться на это место и показать на экране примерно по центру чтоб была та координата.
0
Миниатюры
как открыть картинку (и по возможности большого размера 10000х12000)  
lifeforce
122 / 82 / 19
Регистрация: 27.09.2010
Сообщений: 581
15.02.2016, 02:36  [ТС] #13
открыл файл jpg с размером 38 мега
и пробовал и в 1 мег тоже самое.
может денсити надо изменить?
0
Миниатюры
как открыть картинку (и по возможности большого размера 10000х12000)  
lifeforce
122 / 82 / 19
Регистрация: 27.09.2010
Сообщений: 581
15.02.2016, 13:06  [ТС] #14
заметил еще одну проблему
если файл картинки имеет пробел - то результат будет как на картинке выше с изображением вопросительного знака.
Karta_rajona sat.jpg эту картинку не откроет!
Karta_rajona_sat.jpg а так все работает.
проблемав том что я скачиваю с интернета карту и в ней есть пробел.
пробовал
Java
1
imagePath.toString()
результата нет. какую команду надо дать чтоб прочитать картинку с пробелом в WebView?
0
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,071
17.02.2016, 21:34 #15
XML
1
"<img src='"+ imagePath +"'>"
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.02.2016, 21:34
Привет! Вот еще темы с ответами:

Как сделать файл большого размера в маленький? - Софт
Подскажите,как заархивировать файл(допустим 800 мб) в файл (примерно 1,5 мб)? Просто я скачал сборку win размером 1,4 мб,а когда...

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

Как искать последовательность байтов в файлах большого размера - C#
Как искать последовательность байтов в файлах большого размера? (может достигать несколько гигабайт) Нужны позиции всех совпадений.

Как сделать вывод символов большого размера (gcc curses)? - C Linux
Добрый вечер! Нужна помощь. Как сделать вывод, чтобы символы при выводе командой, например, wprintw были раза в 2 больше для...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
17.02.2016, 21:34
Ответ Создать тему
Опции темы

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