1 Pluspunkt 0 Minuspunkte

Wie kann ich ein Image (keine PictureBox) mit Graphics drehen?

Image meinBild = Image.FromFile("c:\\image.jpg"); 
e.Graphics.DrawImage(meinBild, Bounds);
von  

1 Antwort

0 Pluspunkte 0 Minuspunkte

Dazu musst du die Transformation der Rotation auf das Graphics Objekt anwenden.

double rotationAngleInDegrees = ... die Rotation

Image meinBild = Image.FromFile("c:\\image.jpg");

// Erzeuge eine Matrix für die Rotation
Matrix matrix = new Matrix();
matrix.RotateAt((float)rotationAngleInDegrees, new Point(Bounds.Left + Bounds.Width / 2, Bounds.Top + Bounds.Height / 2));

// Wende die Rotation auf das Graphics-Objekt an
e.Graphics.Transform = matrix;

// Zeichne das Bild unter Berücksichtigung der Rotation
e.Graphics.DrawImage(meinBild, Bounds);

// Setze die Transformation zurück, um sicherzustellen, dass andere Zeichnungen nicht beeinflusst werden
e.Graphics.ResetTransform();

von (716 Punkte)