System.Drawing.Rectangle mit negativer Höhe/Breite

CShark

Mitglied
Hallo liebe Community,

ich habe ein Problem.

In eine PictureBox wird ein Bild geladen in welchem in anschließend Bereiche markieren möchte. Für das Markieren benutze ich ein System.Drawing.Rectangle und Refreshe die PictureBox damit dieses angezeigt wird.
Das funktioniert auch....eigentlich...

Das Problem ist nur, dass man quasi nur in "eine Richtung" markieren kann.
Denn wenn man das Rectangle beispielsweise von rechts nach links zieht bekommt es eine "negative" Breite und wird dann nicht mehr angezeigt.
Nun möchte ich aber das man auch von rechts nach links makieren kann.
Ich bitte um Hilfe.

mfG CShark
 

CShark

Mitglied
Ok, das Problem hat sich von selbst erledigt....
Ich stand nur irgendwie auf dem Schlauch :D

Die Problemlösung ist eigentlich sehr Simpel :D
Code:
        private void ChangeRectIfNegative(System.Drawing.Rectangle rectChange)
        {
            if (rectChange.Width < 0)
            {
                rectChange.Width = rectChange.Width * (-1);
                rectChange.X = rectChange.X - rectChange.Width;
            }
            if (rectChange.Height < 0)
            {
                rectChange.Height = rectChange.Height * (-1);
                rectChange.Y = rectChange.Y - rectChange.Height;
            }
        }
 
Zuletzt bearbeitet:

Neue Beiträge