В чем разница между системой.Рисунок.Точка и система.Рисунок.PointF
в чем разница между System.Drawing.Point
и System.Drawing.PointF
.
Можете ли вы привести пример между этими двумя.
спасибо заранее.
3 ответов
Я думаю отчасти потому, что 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
эти функции будут ограничены.
Point
использует целочисленные координаты (int
на X
и Y
).
PointF
использует плавающую точку (float
на X
и Y
).
например,в некоторых встроенных системах,только поддержка".Рисунок.Point", вы должны создать тип "PointF" самостоятельно .