Ответ 1
Определите новую переменную-член класса:
Bitmap mScaledBackground;
Затем назначьте его вновь созданное масштабированное растровое изображение:
mScaledBackground = scaled;
Затем вызовите метод draw:
c.drawBitmap(mScaledBackground, 0, 0, null);
Заметьте, что размер экрана жесткого кода не так хорош, как вы сделали в своем фрагменте выше. Лучше было бы выбрать размер экрана вашего устройства следующим образом:
int width = getWindowManager().getDefaultDisplay().getWidth();
int height = getWindowManager().getDefaultDisplay().getHeight();
И, вероятно, лучше не объявлять новое растровое изображение с единственной целью рисовать исходный фон масштабированным способом. Растровые изображения потребляют много ценных ресурсов, и, как правило, телефон ограничен несколькими растровыми изображениями, которые вы можете загрузить, прежде чем ваше приложение бесцеремонно потерпит неудачу. Вместо этого вы можете сделать что-то вроде этого:
Rect src = new Rect(0,0,bitmap.getWidth()-1, bitmap.getHeight()-1);
Rect dest = new Rect(0,0,width-1, height-1);
c.drawBitmap(mBackground, src, dest, null);