ポイントキャスティング

PointおよびPointFクラスは、System.Drawing、SixLabors.ImageSharp、Maui.Graphics、SkiaSharpなどの他の描画ライブラリで利用可能な機能に合わせるために、もともとIronSoftware.Drawingで作成されました。結果として、IronSoftware.DrawingPointおよびPointFオブジェクトの暗黙的なキャストを可能にし、ライブラリ間での利用や、プログラム内でのユーザーによる操作を可能にしています。

上のコード・スニペットは、暗黙のキャストがどのように実現されるかを示している。 最初のスニペットでは、IronSoftware.Drawing.Pointオブジェクトが別のライブラリのPointオブジェクトにキャストされますが、2番目のスニペットは逆の変換を示しています。 暗黙の型変換を行うには、単にIronSoftware.Drawing.Pointオブジェクトを目的のライブラリの変数に割り当てます。

暗黙のキャスティングがすべてのライブラリに適用されるわけではないことに注意することが重要だ。 たとえば、System.Drawing.PointFからIronSoftware.Drawing.PointFへのキャストは、System.Drawingによってサポートされていないため、実行できません。 ただし、IronSoftware.Drawing.PointPointFを他のライブラリにキャストすることは可能です。 IronSoftware.Drawing.Point オブジェクトからキャストする場合、座標の値の型はSystem.DoubleからSystem.Int32に変わりますが、PointFではキャスト後もSystem.Singleの値が維持されます。 キャスティングに利用できる他のライブラリの例として、Microsoft.Maui.Graphics.PointSkiaSharp.SKPointIがあります。