[英]Initializing Bitmap variable with bitmap drawable from resources is not working - using ANDROID
我使用以下代碼初始化我的位圖變量:
Bitmap bitmap = ((BitmapDrawable)this.model.gameView.context.getResources().getDrawable(R.drawable.pic1)).getBitmap();
當我嘗試記錄該位圖的寬度時,該記錄甚至不輸出該調用的任何內容。
我知道它已經到那行了,因為我跟蹤了代碼。
另外,當我嘗試對位圖進行canvas.draw時,屏幕上沒有任何內容。
我用矩形繪制的所有內容都可以正常工作。
我的圖片資源是PNG。
任何幫助表示贊賞!
為您的位圖類嘗試類似的操作。
public class DrawBitmap extends View
{
Bitmap bitmap;
public DrawBitmap(Context content)
{
super(content);
bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.pic1);
}
@Override
protected void onDraw(Canvas canvas)
{
super.onDraw(canvas);
canvas.drawColor(Color.BLACK);//whatever color you want, make sure it's not the same as your image
canvas.drawBitmap(bitmap, (canvas.getWidth()), 0, null);
}
}
主班
public class Main extends Activity
{
DrawBitmap myView;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
myView = new DrawBitmap(this);
setContentView(myView);
}
}
嘗試使用BitmapFactory.decodeResource看看本主題中的答案: 如何將Drawable轉換為Bitmap?
只是想通了。 它與我使用的位圖加載方法無關。 我認為這是一個邏輯錯誤。 我的代碼無意間遇到了位圖為null的情況,並嘗試在畫布上繪制null資源。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.