Хороший способ нарисовать Drawable на холсте - это не расшифровать его самостоятельно, а сделать это для системы:
Drawable d = getResources().getDrawable(R.drawable.foobar, null);
d.setBounds(left, top, right, bottom);
d.draw(canvas);
Это будет работать со всеми видами рисования, не только с растровыми изображениями. И это также означает, что вы можете снова использовать тот же самый чертеж, если только размер изменится.