簡體   English   中英

使用可從資源中繪制的位圖初始化位圖變量不起作用-使用ANDROID

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM