изменение размера Bitmap

Ответить
snowkam
Сообщения: 162
Зарегистрирован: 21 мар 2013, 11:22

изменение размера Bitmap

Сообщение snowkam » 17 окт 2013, 11:11

Всем привет не могу понять в чем проблема написал вот такой метод

[syntax=java]
private void getBitmap() {
BitmapFactory.Options bmOptions = new BitmapFactory.Options();
bmOptions.inJustDecodeBounds = true;
Bitmap bitmap = BitmapFactory.decodeFile(fileDir, bmOptions);
int photoW = bmOptions.outWidth/2;
int photoH = bmOptions.outHeight/2;
Log.d("tag", " W " + photoW + " H " + photoH);
Bitmap newBitmap = Bitmap.createScaledBitmap(bitmap, photoW, photoH, false);
//return newBitmap;
}
[/syntax]

выскакивает громадная ошибка

10-17 08:03:25.395: E/AndroidRuntime(22140): FATAL EXCEPTION: main
10-17 08:03:25.395: E/AndroidRuntime(22140): java.lang.NullPointerException
10-17 08:03:25.395: E/AndroidRuntime(22140): at android.graphics.Bitmap.createScaledBitmap(Bitmap.java:335)
10-17 08:03:25.395: E/AndroidRuntime(22140): at com.example.testbitmap.MainActivity.getBitmap(MainActivity.java:49)
10-17 08:03:25.395: E/AndroidRuntime(22140): at com.example.testbitmap.MainActivity.access$0(MainActivity.java:42)
10-17 08:03:25.395: E/AndroidRuntime(22140): at com.example.testbitmap.MainActivity$1.onClick(MainActivity.java:35)
10-17 08:03:25.395: E/AndroidRuntime(22140): at android.view.View.performClick(View.java:2408)
10-17 08:03:25.395: E/AndroidRuntime(22140): at android.view.View$PerformClick.run(View.java:8816)
10-17 08:03:25.395: E/AndroidRuntime(22140): at android.os.Handler.handleCallback(Handler.java:587)
10-17 08:03:25.395: E/AndroidRuntime(22140): at android.os.Handler.dispatchMessage(Handler.java:92)
10-17 08:03:25.395: E/AndroidRuntime(22140): at android.os.Looper.loop(Looper.java:123)
10-17 08:03:25.395: E/AndroidRuntime(22140): at android.app.ActivityThread.main(ActivityThread.java:4627)
10-17 08:03:25.395: E/AndroidRuntime(22140): at java.lang.reflect.Method.invokeNative(Native Method)
10-17 08:03:25.395: E/AndroidRuntime(22140): at java.lang.reflect.Method.invoke(Method.java:521)
10-17 08:03:25.395: E/AndroidRuntime(22140): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
10-17 08:03:25.395: E/AndroidRuntime(22140): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
10-17 08:03:25.395: E/AndroidRuntime(22140): at dalvik.system.NativeStart.main(Native Method)

:?:

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: изменение размера Bitmap

Сообщение rezak90 » 17 окт 2013, 11:41

скорее всего BitmapFactory.decodeFile(fileDir, bmOptions); возвращает null, берём дебаг и дебажимся =)
R.id.team
Политика на форуме запрещена

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

Re: изменение размера Bitmap

Сообщение Mikhail_dev » 17 окт 2013, 11:43

Думаю что bitmap=null, потому что какие-то проблемы в пути к файлу.

Аватара пользователя
KamiSempai
Сообщения: 1339
Зарегистрирован: 17 фев 2012, 21:23
Откуда: Мордор

Re: изменение размера Bitmap

Сообщение KamiSempai » 17 окт 2013, 11:48

Опередили.

От себя еще добавлю немного офтопа. Так как bitmap потом больше не используется, лучше его выгрузить из памяти методом recycle(), так, на всякий случай.
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.

Ответить