Я знаю, что это старый вопрос, но все ответы с кодом подразумевают холст, поэтому вот решение без холста, которое сработало для меня:
Matrix matrix = new Matrix();
matrix.postRotate(mDegree,100,100);
mCompasstemp = Bitmap.createBitmap(mCompPic, 0, 0, mCompPic.getWidth(),
mCompPic.getHeight(), matrix, true);
mCompasstemp = Bitmap.createScaledBitmap(mCompassTemp, mCompPic.getWidth(),
mCompic.getHeight(), false);
mCompassHud.setImageBitmap(mCompasstemp);
Таким образом, после поворота растрового изображения вы масштабируете его до нужного размера. Возможно, это не лучшая практика, но, по крайней мере, вам не нужно создавать дополнительный холст, если вы этого не хотите / не хотите, поскольку использование объекта Paint () также не является недорогой операцией.