Я пытаюсь повернуть растровое изображение на 90 градусов, используя следующую функцию. Проблема заключается в том, что он отсекает часть изображения, когда высота и ширина не равны.
Обратите внимание на returnBitmap width = original.height и height = original.width
Может ли кто-нибудь помочь мне решить эту проблему или указать, что я делаю неправильно?
private Bitmap rotateImage90(Bitmap b)
{
Bitmap returnBitmap = new Bitmap(b.Height, b.Width);
Graphics g = Graphics.FromImage(returnBitmap);
g.TranslateTransform((float)b.Width / 2, (float)b.Height / 2);
g.RotateTransform(90);
g.TranslateTransform(-(float)b.Width / 2, -(float)b.Height / 2);
g.DrawImage(b, new Point(0, 0));
return returnBitmap;
}