2012-08-14 41 views
0

我想在圖像上添加一些文字。 我從SD卡讀取圖像並將其設置爲位圖變量。使用畫布在圖像上添加文字 - Android

Bitmap myBitmap = BitmapFactory.decodeFile(imgFile.getAbsolutePath()); 

然後我將它添加到畫布上。我使用的代碼如下,

Canvas c = new Canvas(myBitmap); 

但是當我添加這一行時,應用程序崩潰在那一點。爲什麼它,我該如何解決這個問題?

注:以上提到的代碼行在onActivityResult方法內。

+1

後崩潰日誌 – Gophermofur 2012-08-14 16:51:06

+0

嘗試此鏈接 http://stackoverflow.com/questions/2172523/draw-object-image-on-canvas – 2012-08-14 17:16:53

回答

0

您的應用程序崩潰,因爲你

BitmapFactory.decodeFile

回報不變的位圖和public Canvas (Bitmap bitmap)只接受一個可變的位圖。

解決你的問題,你必須將一成不變的位圖轉換爲可變see here the method

如果你的目標只是> = API 11,可以使用

final BitmapFactory.Options options = new BitmapFactory.Options(); 
options.inMutable = true; 
Bitmap myBitmap = BitmapFactory.decodeFile(imgFile.getAbsolutePath(), options);