Есть пара вещей, которые вам не хватает.
Во-первых, я думаю, вы неправильно понимаете конструктор Canvas (Bitmap b). Переданное растровое изображение - это то, что Canvas будет рисовать в . Это может быть просто новый растровый рисунок, который вы создали.
Во-вторых, рекомендуется использовать Canvas, который передается вам в методе onDraw вашего View. Предположительно, этот View - один из вашей Activity, либо извлеченный из макета XML через findViewById, либо созданный и переданный setContentView в методе onCreate () Activity.
Итак, вам нужно создать подкласс View и переопределить метод onDraw, чтобы закончить рисование. Что-то вроде:
public class MyView extends View {
@Override
public void onDraw (Canvas c) {
Bitmap mB = BitmapFactory.decodeResource(this.getContext().getResources(), R.drawable.picture);
c.drawBitmap(mB, 0, 0, null);
}
}
Затем в своей деятельности вам нужно будет создать экземпляр вашего нового представления и передать его в действие через setContentView:
public class MyActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mv = new MyView(this);
setContentView(mv);
}
Вместо этого можно вызвать перегрузку setContentView (View v, ViewGroup.LayoutParameters lp), если вы хотите настроить параметры LayoutParameters.
Я не проверял ничего из этого, но это должно, по крайней мере, привести вас на правильный путь.