Einzelnen Beitrag anzeigen

OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#3

Re: .net: versch. Points wofür?

  Alt 19. Nov 2009, 18:43
Medium hat's im Prinzip schon. Hier noch als Ergänzung zur Frage, wann man welches nimmt:

System.Windows und System.Drawing haben nichts miteinander zu tun und haben keinerlei Abhängigkeiten untereinander. Zumindest ist das der Plan. Wenn du also System.Drawing oder System.Windows.Forms benutzt, dann ist System.Drawing.Point dein Freund. Verwendest du hingegen WPF, ist es System.Windows.Point. Wenn du beides verwendest (ungewöhnlich, außer wenn du eine Anwendung teilweise portierst bzw. neue Funktionalität in WPF bereitstellst), musst du eben das verwenden, was gerade passt. Das coole ist, dass für eine reine WPF-Anwendung (zumindest theoretisch) die System.Drawing.dll nicht geladen werden muss.

WPF verwendet an solchen Stellen immer double, weil es auf dem Konzept von device independent pixels aufsetzt, also quasi virtuellen Pixeln. Da kann man schonmal krumme Werte bekommen, wenn man flüssig skalierbar sein will. SWF hingegen kennt eigentlich nur das Konzept von ganzen Pixeln und verwendet deshalb meistens ganzzahlige Werte, also ints. Für einige Berechnungen und Zeichnungen muss man hingegen auch mal halbe Pixel zeichnen können, also hat man sich damals für die float-Varianten entschieden. Das kommt gewöhnlich aber nur in System.Drawing und nicht in den Forms zum Einsatz, weil SWF wie gesagt auf ganzen Pixeln aufsetzt. Praktischerweise kann man aber PointF und Point ineinander konvertieren (ebenso wie RectangleF und Rectangle).
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat