Rotating Image on A canvas in android

You have to rotate the canvas first and then draw whatever you want. Then the object drawn will be appeared as rotated on screen.

canvas.rotate(45); // degrees to rotate

try this its good way.

Check this tutorial you will get information about how to draw bitmap and how to rotate canvas

Check complete tutorial


You can either rotate your bitmap when you draw it by using a matrix:

Matrix matrix = new Matrix();
matrix.setRotate(angle, imageCenterX, imageCenterY);
yourCanvas.drawBitmap(yourBitmap, matrix, null);

You can also do it by rotating the canvas before drawing:

yourCanvas.save(Canvas.MATRIX_SAVE_FLAG); //Saving the canvas and later restoring it so only this image will be rotated.
yourCanvas.rotate(-angle);
yourCanvas.drawBitmap(yourBitmap, left, top, null);
yourCanvas.restore();

Pick the one that suits you the best.