Как повернуть System.Drawing.Image x градусов? - PullRequest
3 голосов
/ 23 августа 2011

Мне нужно повернуть мое изображение автомобиля на X градусов, чтобы указать направление движения.Прямо сейчас у меня есть этот рабочий код для рисования изображения на поверхности GDI +.

int hdc = Display.hDC;
IntPtr p = new IntPtr(hdc);
graphics = Graphics.FromHdc(p);
newImage = Image.FromFile(carImage);
System.Drawing.Point ulCorner = new System.Drawing.Point(x - 25, y -15);

//graphics.RotateTransform(45); //tried this line, when i used it, it drew nothing.
graphics.DrawImage(newImage, ulCorner);

как повернуть X градусов?

1 Ответ

4 голосов
/ 23 августа 2011

Вот как повернуть изображение

 //move rotation point to center of image
  graphics.TranslateTransform((float)newImage.Width/2,(float)newImage.Height / 2);
  //rotate
  graphics.RotateTransform(angle);
  //move image back
  graphics.TranslateTransform(-(float)newImage.Width/2,-(float)newImage.Height / 2);
...