Попробуйте создать экземпляр Matrix и инициализировать его, используя
public boolean setRectToRect (RectF src, RectF dst, Matrix.ScaleToFit stf)
Вам нужно сделать это только один раз и сохранить матрицу в памяти.Обратите внимание, что Matrix.ScaleToFit
определяет значение CENTER
.
Позже, когда вы рисуете растровое изображение, используйте эту версию drawBitmap:
public void drawBitmap (Bitmap bitmap, Matrix matrix, Paint paint)