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

Работа с картинками - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Загрузка файла в файловую систему эмклятора http://www.cyberforum.ru/android-dev/thread908181.html
Как загрузить файл в систему? жму на stdcard, потом push fili onto device, потом идет полоса загрузка файла и вылет ошибок в логкат transfer error: Read-only file system Failed to push...
Программирование Android Получить количество строк в TextView (ListView) привет всем. уже очень давно никак не могу получить количество строк в TextView который находится в ListView. каждый итем - TextView. использую не стандартный адаптер, а делаю свой. вот как это... http://www.cyberforum.ru/android-dev/thread908121.html
Программирование Android Получить строковое представление нажатой клавиши
Несколько дней назад начал изучать android , первое что пришло в голову- написать службу-кейлогер, но вот никак не могу найти метод который по keycode клавиши определят что это за клавиша, те...
Программирование Android Yandex Map Kit android
Добрый день. Хочу написать приложение для android, использующее карту Яндекс. Скачал библиотеку, документацию и пример кода: https://github.com/yandexmobile/yandexmapkit-android Не могу...
Программирование Android Добавление определенного email в корни приложения http://www.cyberforum.ru/android-dev/thread907698.html
Нужна помощь!!!!! уже неделю не могу понять в каком файле нужно изменить значение что бы при открытии приложения вся инфа скидывалась только на email который вбит в корнях проги
Программирование Android Сбой при загрузке на android 4 Здравствуйте. Моя игра без проблем загружается на android 2.3 но на android 4+ в процессе загрузки при достижение примерно 5 МВ графики вылетает. Объем графики игры – 9МВ. Загружаю из общей папки... подробнее

Показать сообщение отдельно
spydark91
85 / 85 / 2
Регистрация: 03.03.2011
Сообщений: 1,873
20.06.2013, 23:20  [ТС]
получаю картинку так
ans и userAva это drawable
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
protected Void doInBackground(Void... params) {
                try {
                    URL url = new URL(source);
                    URLConnection connection = url.openConnection();
                    InputStream is = connection.getInputStream();
                    ans = Drawable.createFromStream(is, "src");
                    is.close();     
                } catch (ClientProtocolException e) {
                   error = true;
                } catch (IOException t) {
                    error = true;
                }
                return null;            
            }
 
            @Override
            protected void onPostExecute(Void result) { 
                if(error) {
                    showDialog(getResources().getString(R.string.error_dialog_message_no_acces_to_the_internet));
                    return; 
                }
                ans.setBounds(0, 0, ans.getIntrinsicWidth(), ans.getIntrinsicHeight());
                userAva = ans;
                
                Rect rect = new Rect(parentA.userInfo.getImgLeft(),parentA.userInfo.getImgTop(),parentA.userInfo.getImgRight(),parentA.userInfo.getImgBottom());
                Bitmap crImg = Bitmap.createBitmap(((BitmapDrawable)ans).getBitmap(),rect.left,rect.top,rect.right,rect.bottom);
                userImg.setImageBitmap(crImg);
                
            }
Добавлено через 54 секунды
у userImg максимальное значение изображение установлено в 250

Добавлено через 40 секунд
а если картинка большая, например 3000х2000, то приложение вылетает

Добавлено через 4 минуты
т.е. выходит несхожесть размеров картинок
как мне изменить размер картинки, хранящейся в userAva чтобы он был идентичен той, которая выводится на экран

Добавлено через 9 минут
при выборе картинки ресайзить пытаюсь так, если больше 999, но всеравно падает
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
@Override
     protected void onActivityResult(int requestCode, int resultCode, Intent imageReturnedIntent) { 
         super.onActivityResult(requestCode, resultCode, imageReturnedIntent); 
         if (resultCode == RESULT_OK) {
             Uri selectedImage = imageReturnedIntent.getData();
             final pictureView img = (pictureView)findViewById(R.id.img);
             Drawable dr = Drawable.createFromPath(selectedImage.toString());
             Bitmap btm = ((BitmapDrawable)dr).getBitmap();
             int w = btm.getWidth();
             int h = btm.getHeight();
             boolean r = false;
             if (w > 999) { w = 999; r = true; }
             if (h > 999) { h = 999; r = true; }
             if (r) { Toast.makeText(getBaseContext(),"ss",Toast.LENGTH_LONG).show(); img.setImageBitmap(getResizedBitmap(btm,w,h));}
             else img.setImageURI(selectedImage);
             
            // sendMedia("http://connections.ixrad.ru/load.php",selectedImage.toString());
         }
     }
     public Bitmap getResizedBitmap(Bitmap bm, int newHeight, int newWidth) {
            int width = bm.getWidth();
            int height = bm.getHeight();
            float scaleWidth = ((float) newWidth) / width;
            float scaleHeight = ((float) newHeight) / height;
            // CREATE A MATRIX FOR THE MANIPULATION
            Matrix matrix = new Matrix();
            // RESIZE THE BIT MAP
            matrix.postScale(scaleWidth, scaleHeight);
 
            // "RECREATE" THE NEW BITMAP
            Bitmap resizedBitmap = Bitmap.createBitmap(bm, 0, 0, width, height, matrix, false);
            return resizedBitmap;
        }
Добавлено через 8 минут
вот так падает (при загрузке из интернета)
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
06-20 19:18:48.278: D/dalvikvm(11903): GC_EXTERNAL_ALLOC freed 104K, 51% free 2726K/5511K, external 1369K/1680K, paused 56ms
06-20 19:18:48.358: E/dalvikvm-heap(11903): 25485312-byte external allocation too large for this process.
06-20 19:18:48.478: E/GraphicsJNI(11903): VM won't let us allocate 25485312 bytes
06-20 19:18:48.478: D/dalvikvm(11903): GC_FOR_MALLOC freed 1K, 51% free 2725K/5511K, external 1369K/1680K, paused 44ms
06-20 19:18:48.498: D/skia(11903): --- decoder->decode returned false
06-20 19:18:48.518: W/dalvikvm(11903): threadid=10: thread exiting with uncaught exception (group=0x40015560)
06-20 19:18:48.538: E/AndroidRuntime(11903): FATAL EXCEPTION: AsyncTask #2
06-20 19:18:48.538: E/AndroidRuntime(11903): java.lang.RuntimeException: An error occured while executing doInBackground()
06-20 19:18:48.538: E/AndroidRuntime(11903):    at android.os.AsyncTask$3.done(AsyncTask.java:200)
06-20 19:18:48.538: E/AndroidRuntime(11903):    at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:274)
06-20 19:18:48.538: E/AndroidRuntime(11903):    at java.util.concurrent.FutureTask.setException(FutureTask.java:125)
06-20 19:18:48.538: E/AndroidRuntime(11903):    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:308)
06-20 19:18:48.538: E/AndroidRuntime(11903):    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
06-20 19:18:48.538: E/AndroidRuntime(11903):    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)
06-20 19:18:48.538: E/AndroidRuntime(11903):    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581)
06-20 19:18:48.538: E/AndroidRuntime(11903):    at java.lang.Thread.run(Thread.java:1019)
06-20 19:18:48.538: E/AndroidRuntime(11903): Caused by: java.lang.OutOfMemoryError: bitmap size exceeds VM budget
06-20 19:18:48.538: E/AndroidRuntime(11903):    at android.graphics.BitmapFactory.nativeDecodeStream(Native Method)
06-20 19:18:48.538: E/AndroidRuntime(11903):    at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:470)
06-20 19:18:48.538: E/AndroidRuntime(11903):    at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:336)
06-20 19:18:48.538: E/AndroidRuntime(11903):    at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:697)
06-20 19:18:48.538: E/AndroidRuntime(11903):    at android.graphics.drawable.Drawable.createFromStream(Drawable.java:657)
06-20 19:18:48.538: E/AndroidRuntime(11903):    at com.example.geodating.General_Fragment1$loadPic.doInBackground(General_Fragment1.java:163)
06-20 19:18:48.538: E/AndroidRuntime(11903):    at com.example.geodating.General_Fragment1$loadPic.doInBackground(General_Fragment1.java:1)
06-20 19:18:48.538: E/AndroidRuntime(11903):    at android.os.AsyncTask$2.call(AsyncTask.java:185)
06-20 19:18:48.538: E/AndroidRuntime(11903):    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306)
06-20 19:18:48.538: E/AndroidRuntime(11903):    ... 4 more
06-20 19:18:48.767: W/IInputConnectionWrapper(11903): showStatusIcon on inactive InputConnection
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru