Форум программистов, компьютерный форум 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 selection: Read-only file system
Android Получить количество строк в TextView (ListView) привет всем. уже очень давно никак не могу получить количество строк в TextView который находится в ListView. каждый итем - TextView. использую не стандартный адаптер, а делаю свой. вот как это происходит класс Items: public class Item { String text1; http://www.cyberforum.ru/android-dev/thread908121.html
Android Получить строковое представление нажатой клавиши
Несколько дней назад начал изучать android , первое что пришло в голову- написать службу-кейлогер, но вот никак не могу найти метод который по keycode клавиши определят что это за клавиша, те например keykode = 11 а я бы получал string klavisha = unknowmethod(keykode) (="F")
Android Yandex Map Kit android
Добрый день. Хочу написать приложение для android, использующее карту Яндекс. Скачал библиотеку, документацию и пример кода: https://github.com/yandexmobile/yandexmapkit-android Не могу запустить пример. А надо-то всего, чтобы запустить пример, согласно официальному сайту: "Данные проекты уже настроены для работы в среде Eclipse
Android Добавление определенного email в корни приложения http://www.cyberforum.ru/android-dev/thread907698.html
Нужна помощь!!!!! уже неделю не могу понять в каком файле нужно изменить значение что бы при открытии приложения вся инфа скидывалась только на email который вбит в корнях проги
Android Сбой при загрузке на android 4 Здравствуйте. Моя игра без проблем загружается на android 2.3 но на android 4+ в процессе загрузки при достижение примерно 5 МВ графики вылетает. Объем графики игры – 9МВ. Загружаю из общей папки drawable для всех устройств методом Bitmap myBitmap=BitmapFactory.decodeResource(getResources(),R.drawable.spriten1); А потом растягиваю в зависимости от соотношения сторон устройства. Вот собственно... подробнее

Показать сообщение отдельно
spydark91
85 / 85 / 2
Регистрация: 03.03.2011
Сообщений: 1,872
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
 
Текущее время: 20:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru