안드로이드 개발 질문/답변
(글 수 45,052)
E/AndroidRuntime( 6740): FATAL EXCEPTION: main
E/AndroidRuntime( 6740): java.lang.RuntimeException: Failure delivering result R
esultInfo{who=null, request=1, result=-1, data=Intent { dat=content://media/external
/images/media/328 }} to activity {com.yjlim.face/com.yjlim.face.FaceMain}:
java.lang.IllegalStateException: Immutable bitmap passed to Canvas constructor
E/AndroidRuntime( 6740): at android.app.ActivityThread.deliverResults(ActivityThread.java:3515)
E/AndroidRuntime( 6740): at android.app.ActivityThread.handleSendResult(ActivityThread.java:3557)
E/AndroidRuntime( 6740): at android.app.ActivityThread.access$2800(ActivityThread.java:125)
E/AndroidRuntime( 6740): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2063)
E/AndroidRuntime( 6740): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime( 6740): at android.os.Looper.loop(Looper.java:123)
E/AndroidRuntime( 6740): at android.app.ActivityThread.main(ActivityThread.java:4627)
E/AndroidRuntime( 6740): at java.lang.reflect.Method.invokeNative(NativeMethod)
E/AndroidRuntime( 6740): at java.lang.reflect.Method.invoke(Method.java:521)
E/AndroidRuntime( 6740): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:876)
E/AndroidRuntime( 6740): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:634)
E/AndroidRuntime( 6740): at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime( 6740): Caused by: java.lang.IllegalStateException: Immutable bitmap passed to Canvas constructor
E/AndroidRuntime( 6740): at android.graphics.Canvas.<init>(Canvas.java:83)
E/AndroidRuntime( 6740): at com.yjlim.face.FaceMain.onActivityResult(FaceMain.java:143)
E/AndroidRuntime( 6740): at android.app.Activity.dispatchActivityResult(Activity.java:3890)
E/AndroidRuntime( 6740): at android.app.ActivityThread.deliverResults(ActivityThread.java:3511)
E/AndroidRuntime( 6740): ... 11 more
------------------------------------------------------------------------------------------------
에러 메시지는 위와 같습니다.
제가 하고 있는 걸 간단히 말씀드리자면
갤러리에서 이미지를 선택하면 웹으로 이미지를 업로드하여 정보를 얻고 동시에 선택한 이미지를 불러와서
정보를 통해서 이미지위에 캔버스로 그려서 출력하려고 합니다.
그래서 이미지선택 후 업로드 or 비트맵으로 불러오는거까지는 되었는데요
그 비트맵을 캔버스로 그릴려고하면 위와같은 에러가 납니다.
Uri galleryUri = intent.getData();
Bitmap selPhoto = Images.Media.getBitmap(getContentResolver(), galleryUri);
위에처럼 하고 Canvas canvas = new Canvas(selPhoto); 하면 이부분에서 위와 같은 에러가 납니다.
위와 같은 에러가 나는 이유와 해결방법은 없는지 궁금합니다..



