2012-02-10 118 views
1

我想在畫布上繪製多個圖像並顯示它,但我只是不知道如何。在Android上的畫布上繪製多個圖像

這裏是我的代碼:

public class CustomDrawableView extends View { 
private Drawable mDrawable; 
private Drawable mD2; 

public CustomDrawableView(Context context) { 
    super(context); 

    int x = 40; 
    int y = 100; 
    int width = 20; 
    int height = 10; 

    Resources res = context.getResources(); 
    mDrawable = res.getDrawable(R.drawable.main); 
    mDrawable.setBounds(x, y, x + width, y + height); 

    mD2 = res.getDrawable(R.drawable.virus); 
    mD2.setBounds(x+50,y-70,width+10,height+5); 
} 

protected void onDraw(Canvas canvas) { 
    mDrawable.draw(canvas); 
    Canvas canvas2 = new Canvas(); 
    mD2.draw(canvas2); 
} 
} 
+2

您不需要創建畫布的新實例,只需執行 md2.draw(canvas)。 – user710502 2012-02-10 03:15:02

+0

我嘗試過......但它沒有奏效。這就是爲什麼我想可能有2個畫布會起作用... – 2012-02-10 03:17:49

+0

當你只繪製mDrawable,然後只繪製md2時,會發生什麼? – user710502 2012-02-10 03:26:13

回答

2

你不需要創建一個畫布的新實例,只需做md2.draw(canvas)。而且你也可以嘗試:

當你只繪製mDrawable,然後只繪製md2時,會發生什麼?

4

我還沒有可繪製在畫布的工作,但我可以告訴你肯定是位圖它只是罰款是這樣的:

canvas.drawBitmap(bmp1,0,0,myPaint); // draws in top left corner 
canvas.drawBitmap(bmp2,100,100, myPaint); // draws at an offset of 100 px on both the X and the Y axis 
+0

感謝它的工作。 – 2013-06-27 13:24:57