В чем разница между System.Drawing.Point и System.Drawing.PointF
В чем разница между System.Drawing.Point и System.Drawing.PointF.
Можете ли вы привести пример между этими двумя.
Спасибо заранее.
Ответ 1
Я думаю, что PointF существует отчасти потому, что класс System.Drawing.Graphics поддерживает преобразование и сглаживание. Например, вы можете нарисовать линию между дискретным пикселем в режиме сглаживания.
private void Form1_Paint(object sender, PaintEventArgs e)
{
e.Graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
Pen pen = Pens.Red;
// draw two vertical line
e.Graphics.DrawLine(pen, new Point(100, 100), new Point(100, 200));
e.Graphics.DrawLine(pen, new Point(103, 100), new Point(103, 200));
// draw a line exactly in the middle of those two lines
e.Graphics.DrawLine(pen, new PointF(101.5f, 200.0f), new PointF(101.5f, 300.0f)); ;
}
и он будет выглядеть как
без PointF эти функции будут ограничены.
Ответ 2
Point использует целые координаты (int для X и Y).
PointF использует плавающие точки (float для X и Y).
Ответ 3
Например, в некоторых встроенных системах поддерживайте только "System.Drawing.Point", вы должны сами создать "PointF".