Bitmap selectedBmp = new Bitmap(selection.Width, selection.Height);
using(var g = Graphics.FromImage(selectedBmp))
{
float angle = ... // как-то определить угол поворота
g.RotateTransform(angle);
g.DrawImage(img,0,0,selection,GraphicsUnit.Pixel);
}
Мы на 2012 используем:
Было найдено на просторах StackOverflow. Работает быстрее всего, что мы смогли найти