Рисование нескольких изображений на холсте в Android - PullRequest
1 голос
/ 10 февраля 2012

Я пытаюсь нарисовать несколько изображений на холсте и показать их, но я просто не знаю, как это сделать.

Вот мой код:

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 ]

4 голосов
/ 10 февраля 2012

Я не работал с Drawables на Canvas, но могу вам точно сказать, что с растровыми изображениями все работает просто так:

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
2 голосов
/ 10 февраля 2012

Вам не нужно создавать новый экземпляр canvas, просто выполните md2.draw (canvas).А также вы можете попробовать:

что происходит, когда вы рисуете только mDrawable, а затем только md2, они показывают?

...