I'm trying to draw on a user loaded bitmap. This is in onCreate.
imageView = (ImageView) this.findViewById(R.id.ImageView); Display currentDisplay = getWindowManager().getDefaultDisplay(); float dw = currentDisplay.getWidth(); float dh = currentDisplay.getHeight(); bitmap = Bitmap.createBitmap((int) dw, (int) dh, Bitmap.Config.ARGB_8888); canvas = new Canvas(bitmap); paint = new Paint(); paint.setColor(Color.BLUE); imageView.setImageBitmap(bitmap); imageView.setOnTouchListener(this); Next code is when the user press a button to get the bitmap and after the bitmap is successfully retrieved. It is at the end of "onActivityResult"
canvas = new Canvas(bitmap); paint = new Paint(); paint.setColor(Color.BLUE); imageView.setImageBitmap(BitmapFactory.decodeFile(picturePath)); imageView.setOnTouchListener(this); I'm able to draw on the blank bitmap that is made during onCreate, but when the user loads the new bitmap and try to draw it doesn't show. The new bitmap is loaded though.
I tired doing this too
canvas = new Canvas(BitmapFactory.decodeFile(picturePath)); then it gave me error.
Anyone know if i'm doing something wrong?
EDIT:THis is the log file:
10-25 03:19:31.409: W/System.err(1971): java.lang.Exception: java.lang.IllegalStateException: Immutable bitmap passed to Canvas constructor 10-25 03:19:31.409: W/System.err(1971): at com.example.milestone2.Draw.onActivityResult(Draw.java:148) 10-25 03:19:31.409: W/System.err(1971): at android.app.Activity.dispatchActivityResult(Activity.java:5293) 10-25 03:19:31.409: W/System.err(1971): at android.app.ActivityThread.deliverResults(ActivityThread.java:3315) 10-25 03:19:31.409: W/System.err(1971): at android.app.ActivityThread.handleSendResult(ActivityThread.java:3362) 10-25 03:19:31.409: W/System.err(1971): at android.app.ActivityThread.access$1100(ActivityThread.java:141) 10-25 03:19:31.419: W/System.err(1971): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1282) 10-25 03:19:31.419: W/System.err(1971): at android.os.Handler.dispatchMessage(Handler.java:99) 10-25 03:19:31.419: W/System.err(1971): at android.os.Looper.loop(Looper.java:137) 10-25 03:19:31.428: W/System.err(1971): at android.app.ActivityThread.main(ActivityThread.java:5041) 10-25 03:19:31.428: W/System.err(1971): at java.lang.reflect.Method.invokeNative(Native Method) 10-25 03:19:31.428: W/System.err(1971): at java.lang.reflect.Method.invoke(Method.java:511) 10-25 03:19:31.428: W/System.err(1971): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 10-25 03:19:31.428: W/System.err(1971): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 10-25 03:19:31.428: W/System.err(1971): at dalvik.system.NativeStart.main(Native Method) 10-25 03:19:31.438: W/System.err(1971): Caused by: java.lang.IllegalStateException: Immutable bitmap passed to Canvas constructor 10-25 03:19:31.448: W/System.err(1971): at android.graphics.Canvas.<init>(Canvas.java:127) 10-25 03:19:31.469: W/System.err(1971): at com.example.milestone2.Draw.onActivityResult(Draw.java:141) 10-25 03:19:31.469: W/System.err(1971): ... 13 more 10-25 03:19:31.588: E/SurfaceFlinger(37): ro.sf.lcd_density must be defined as a build property
imageViewafter you get the result? What error do you get?