Try the following:
public Bitmap RotateBitmap(Image bitmap, float angle) {
Bitmap result = new Bitmap(bitmap.Width, bitmap.Height, bitmap.PixelFormat);
using(Graphics graphics = Graphics.FromImage(result)) {
graphics.TranslateTransform((float)bitmap.Width / 2f, (float)bitmap.Height / 2f);
graphics.RotateTransform(angle);
graphics.TranslateTransform(-(float)bitmap.Width / 2f, -(float)bitmap.Height / 2f);
graphics.DrawImage(bitmap, Point.Empty);
}
return result;
}