我後來測試了一下有發現 bitmap
是 null
可是我確定路徑是正確的 /storage/emulated/0/cat.png
錯誤會出現在 canvas.drawBitmap(bitmap, 0, 0, paint);
,
java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.graphics.Bitmap.isRecycled()' on a null object
public class MyView extends View {
public MyView(Context context) {
super(context);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
// 獲取文件路徑
String path = Environment.getExternalStorageDirectory()+"/cat.png";
// 創建位圖對象
Bitmap bitmap = BitmapFactory.decodeFile(path);
Paint paint = new Paint();
// 繪製圖片
canvas.drawBitmap(bitmap, 0, 0, paint);
}
}
請參考Android 顯示圖片
既然到了 Android
就不要再用 java Canvas 的寫法了