ポイントキャスティング
Point
およびPointF
クラスは、System.Drawing、SixLabors.ImageSharp、Maui.Graphics、SkiaSharpなどの他の描画ライブラリで利用可能な機能に合わせるために、もともとIronSoftware.Drawingで作成されました。結果として、IronSoftware.Drawing
はPoint
およびPointF
オブジェクトの暗黙的なキャストを可能にし、ライブラリ間での利用や、プログラム内でのユーザーによる操作を可能にしています。
上のコード・スニペットは、暗黙のキャストがどのように実現されるかを示している。 最初のスニペットでは、IronSoftware.Drawing.Point
オブジェクトが別のライブラリのPoint
オブジェクトにキャストされますが、2番目のスニペットは逆の変換を示しています。 暗黙の型変換を行うには、単にIronSoftware.Drawing.Point
オブジェクトを目的のライブラリの変数に割り当てます。
暗黙のキャスティングがすべてのライブラリに適用されるわけではないことに注意することが重要だ。 たとえば、System.Drawing.PointF
からIronSoftware.Drawing.PointF
へのキャストは、System.Drawing
によってサポートされていないため、実行できません。 ただし、IronSoftware.Drawing.Point
とPointF
を他のライブラリにキャストすることは可能です。 IronSoftware.Drawing.Point
オブジェクトからキャストする場合、座標の値の型はSystem.Double
からSystem.Int32
に変わりますが、PointF
ではキャスト後もSystem.Single
の値が維持されます。 キャスティングに利用できる他のライブラリの例として、Microsoft.Maui.Graphics.Point
やSkiaSharp.SKPointI
があります。