I am using following code to draw bitmaps on top of each other.
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(new MyView(this));
}
public class MyView extends View
{
public MyView(Context context)
{
super(context);
}
@Override
protected void onDraw(Canvas canvas)
{
Bitmap bitmap = null;
Resources res = getResources();
Bitmap bitmap1 = BitmapFactory.decodeResource(res, R.drawable.ic_launcher);
Bitmap bitmap2 = BitmapFactory.decodeResource(res, R.drawable.ic_launcher2);
bitmap = Bitmap.createBitmap(bitmap1.getWidth() + 200, bitmap1.getHeight() + 200,
Config.ARGB_8888);
canvas.drawBitmap(bitmap1, 0, 0, null);
super.onDraw(canvas);
}
}
}
The following line draws bitmap1 on the canvas.
canvas.drawBitmap(bitmap1, 0, 0, null);
However if I use following code, it does not draw anything. I understand it's new canvas but where it will draw then?
canvas = new Canvas(bitmap); // Sets background bitmap.
canvas.drawBitmap(bitmap1, 0, 0, null);
Paint paint = new Paint(Paint.FILTER_BITMAP_FLAG);
canvas.drawBitmap(bitmap2, 0, 0, paint)
For existing canvas object, I have also tried using canvas.setBitmap(bitmap);
but still it does not draw anything. Any help would be appreciated. Thanks.