Inhalt
Klassenlexikon

Struktur Point

Namensraum Vererbungshierarchie Schnittstellen
System.Drawing
Object
  ValueType
    Point
-
Kurzbeschreibung

Eine Instanz bestimmt die Position eines Punktes in einem Koordinatensystem, in dem nur ganze Zahlen verwendet werden.

Hinweise
  • Da Point eine Struktur ist, wird bei der Herstellung eines Feldes von Punkten sogleich auch Speicherplatz für alle im Feld zusammengefassten Punkte reserviert.

Punkte werden in einigen Methoden von Graphics verwendet. Außerdem kann ein Punkt zusammen mit einer Größenangabe verwendet werden, um ein Rectangle herzustellen.

Erzeugung eines Punktes:

Ein Punkt wird durch die Angabe seiner ganzzahligen Koordinaten erzeugt.

Das folgende Beispiel stellt einen Punkt her. Die erste Zahl ist die x-Koordinate, die zweite Zahl ist die y-Koordinate.

Point pt = new Point(10, 20);

Um aus einem Punkt einen neuen, in der Darstellungesebene verschobenen Punkt, zu erhalten, kannst du zu einem Punkt eine Size addieren:

Point pt = new Point(10, 20);
Size groesse = new Size(100, 200);
Point neuerPunkt = pt + groesse;
bool gleich = Object.ReferenceEquals(pt, verschobenerPunkt);

Hier muss der Punkt vor dem Pluszeichen stehen und die Größenangabe dem Pluszeichen nachfolgen. Andersherum funktioniert es nicht!

In der letzten Zeile dieses Beispiels wird gepfüft, ob pt und neuerPunkt das gleiche Objekt sind. Das Ergebnis der Prüfung ist false. Dies zeigt uns, dass tatsächlich ein neuer Punkt erzeugt wurde.

Um einen Punkt zu verschieben, verwendest du die Methode Offset():

Point pt = new Point(10, 20);
Point verschobenerPunkt = pt.Offset(100, 200);
bool gleich = Object.ReferenceEquals(pt, verschobenerPunkt);

In der letzten Zeile dieses Beispiels wird gepfüft, ob pt und verschobenerPunkt das gleiche Objekt sind. Das Ergebnis der Prüfung ist true.

Felder von Punkten

Point ist keine Klasse, sondern eine Struktur. Bei der Vereinbarung eines Feldes von Punkten wird deshalb sogleich Speicherplatz für alle im Feld zusammengefassten Punkte reserviert.

Die Anweisung

Point [] punkte = new Point[50];

reserviert deshalb Speicherplatz für 50 Punkte. Punktkoordinaten können anschließend sofort eingetragen werden:

punkt[0].x = 10;
punkt[0].y = 20;

Inhalt
Klassenlexikon