Punktgießen

Die Klassen Point und PointF wurden ursprünglich in IronSoftware.Drawing erstellt, um die in anderen Grafikbibliotheken wie System.Drawing, SixLabors.ImageSharp, Maui.Graphics und SkiaSharp verfügbaren Funktionalitäten nachzubilden. Infolgedessen ermöglicht IronSoftware.Drawing das implizite Casting für Point und PointF-Objekte, sodass sie in verschiedenen Bibliotheken verwendet und von Benutzern im Programm manipuliert werden können.

Der obige Codeschnipsel zeigt, wie das implizite Casting erreicht wird. Im ersten Ausschnitt wird ein IronSoftware.Drawing.Point-Objekt in ein Point-Objekt aus einer anderen Bibliothek umgewandelt, während der zweite Ausschnitt die entgegengesetzte Umwandlung zeigt. Um implizites Casting durchzuführen, weisen Sie einfach das IronSoftware.Drawing.Point-Objekt der Variable der gewünschten Bibliothek zu.

Es ist wichtig zu beachten, dass das implizite Casting nicht für alle Bibliotheken gilt. Zum Beispiel ist das Umwandeln von System.Drawing.PointF zu IronSoftware.Drawing.PointF nicht möglich, da es von System.Drawing nicht unterstützt wird. Es ist jedoch möglich, IronSoftware.Drawing.Point und PointF in andere Bibliotheken zu konvertieren. Wenn man von einem IronSoftware.Drawing.Point-Objekt konvertiert, ändert sich der Werttyp der Koordinaten von System.Double zu System.Int32, wohingegen bei PointF der System.Single-Wert nach der Konvertierung beibehalten wird. Ein Beispiel für andere Bibliotheken, die für das Casting verfügbar sind, ist Microsoft.Maui.Graphics.Point und SkiaSharp.SKPointI.