Graphics.DrawCurve Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Строит фундаментальный сплайн через точки указанного массива структур Point.
Перегрузки
DrawCurve(Pen, ReadOnlySpan<PointF>, Single) | |
DrawCurve(Pen, ReadOnlySpan<PointF>, Int32, Int32, Single) | |
DrawCurve(Pen, ReadOnlySpan<Point>, Int32, Int32, Single) | |
DrawCurve(Pen, PointF[], Int32, Int32, Single) |
Строит фундаментальный сплайн через точки указанного массива структур PointF с указанным натяжением. Смещение при рисовании начинается от начала массива. |
DrawCurve(Pen, Point[], Int32, Int32, Single) |
Строит фундаментальный сплайн через точки указанного массива структур Point с указанным натяжением. |
DrawCurve(Pen, ReadOnlySpan<PointF>, Int32, Int32) | |
DrawCurve(Pen, PointF[], Int32, Int32) |
Строит фундаментальный сплайн через точки указанного массива структур PointF. Смещение при рисовании начинается от начала массива. |
DrawCurve(Pen, PointF[], Single) |
Строит фундаментальный сплайн через точки указанного массива структур PointF с указанным натяжением. |
DrawCurve(Pen, Point[], Single) |
Строит фундаментальный сплайн через точки указанного массива структур Point с указанным натяжением. |
DrawCurve(Pen, ReadOnlySpan<PointF>) | |
DrawCurve(Pen, ReadOnlySpan<Point>) | |
DrawCurve(Pen, PointF[]) |
Строит фундаментальный сплайн через точки указанного массива структур PointF. |
DrawCurve(Pen, Point[]) |
Строит фундаментальный сплайн через точки указанного массива структур Point. |
DrawCurve(Pen, ReadOnlySpan<Point>, Single) |
DrawCurve(Pen, ReadOnlySpan<PointF>, Single)
- Исходный код:
- Graphics.cs
public:
void DrawCurve(System::Drawing::Pen ^ pen, ReadOnlySpan<System::Drawing::PointF> points, float tension);
public void DrawCurve (System.Drawing.Pen pen, ReadOnlySpan<System.Drawing.PointF> points, float tension);
member this.DrawCurve : System.Drawing.Pen * ReadOnlySpan<System.Drawing.PointF> * single -> unit
Public Sub DrawCurve (pen As Pen, points As ReadOnlySpan(Of PointF), tension As Single)
Параметры
- pen
- Pen
- points
- ReadOnlySpan<PointF>
- tension
- Single
Применяется к
DrawCurve(Pen, ReadOnlySpan<PointF>, Int32, Int32, Single)
- Исходный код:
- Graphics.cs
public:
void DrawCurve(System::Drawing::Pen ^ pen, ReadOnlySpan<System::Drawing::PointF> points, int offset, int numberOfSegments, float tension);
public void DrawCurve (System.Drawing.Pen pen, ReadOnlySpan<System.Drawing.PointF> points, int offset, int numberOfSegments, float tension);
member this.DrawCurve : System.Drawing.Pen * ReadOnlySpan<System.Drawing.PointF> * int * int * single -> unit
Public Sub DrawCurve (pen As Pen, points As ReadOnlySpan(Of PointF), offset As Integer, numberOfSegments As Integer, tension As Single)
Параметры
- pen
- Pen
- points
- ReadOnlySpan<PointF>
- offset
- Int32
- numberOfSegments
- Int32
- tension
- Single
Применяется к
DrawCurve(Pen, ReadOnlySpan<Point>, Int32, Int32, Single)
- Исходный код:
- Graphics.cs
public:
void DrawCurve(System::Drawing::Pen ^ pen, ReadOnlySpan<System::Drawing::Point> points, int offset, int numberOfSegments, float tension);
public void DrawCurve (System.Drawing.Pen pen, ReadOnlySpan<System.Drawing.Point> points, int offset, int numberOfSegments, float tension);
member this.DrawCurve : System.Drawing.Pen * ReadOnlySpan<System.Drawing.Point> * int * int * single -> unit
Public Sub DrawCurve (pen As Pen, points As ReadOnlySpan(Of Point), offset As Integer, numberOfSegments As Integer, tension As Single)
Параметры
- pen
- Pen
- points
- ReadOnlySpan<Point>
- offset
- Int32
- numberOfSegments
- Int32
- tension
- Single
Применяется к
DrawCurve(Pen, PointF[], Int32, Int32, Single)
- Исходный код:
- Graphics.cs
- Исходный код:
- Graphics.cs
- Исходный код:
- Graphics.cs
Строит фундаментальный сплайн через точки указанного массива структур PointF с указанным натяжением. Смещение при рисовании начинается от начала массива.
public:
void DrawCurve(System::Drawing::Pen ^ pen, cli::array <System::Drawing::PointF> ^ points, int offset, int numberOfSegments, float tension);
public void DrawCurve (System.Drawing.Pen pen, System.Drawing.PointF[] points, int offset, int numberOfSegments, float tension);
member this.DrawCurve : System.Drawing.Pen * System.Drawing.PointF[] * int * int * single -> unit
Public Sub DrawCurve (pen As Pen, points As PointF(), offset As Integer, numberOfSegments As Integer, tension As Single)
Параметры
- offset
- Int32
Смещение от первого элемента в массиве параметра points
до начальной точки кривой.
- numberOfSegments
- Int32
Количество сегментов, включаемых в кривую после начальной точки.
- tension
- Single
Значение не ниже 0,0F, которое задает натяжение кривой.
Исключения
Примеры
Следующий пример кода предназначен для использования с Windows Forms и требует PaintEventArgse
, который является параметром обработчика Paint событий. Код выполняет следующие действия.
Создает красные и зеленые ручки.
Создает семь точек для определения кривой.
Рисует шесть красных прямых линий между семью точками, образуя неполный многоугольник.
Определяет смещение начальной точки и количество сегментов.
Определяет напряженность.
Рисует открытую зеленую кривую (начиная с третьей точки) через последние пять пунктов.
Метод устанавливает для натяжения значение 1,0.
private:
void DrawCurvePointFSegmentTension( PaintEventArgs^ e )
{
// Create pens.
Pen^ redPen = gcnew Pen( Color::Red,3.0f );
Pen^ greenPen = gcnew Pen( Color::Green,3.0f );
// Create points that define curve.
PointF point1 = PointF(50.0F,50.0F);
PointF point2 = PointF(100.0F,25.0F);
PointF point3 = PointF(200.0F,5.0F);
PointF point4 = PointF(250.0F,50.0F);
PointF point5 = PointF(300.0F,100.0F);
PointF point6 = PointF(350.0F,200.0F);
PointF point7 = PointF(250.0F,250.0F);
array<PointF>^ curvePoints = {point1,point2,point3,point4,point5,point6,point7};
// Draw lines between original points to screen.
e->Graphics->DrawLines( redPen, curvePoints );
// Create offset, number of segments, and tension.
int offset = 2;
int numSegments = 4;
float tension = 1.0F;
// Draw curve to screen.
e->Graphics->DrawCurve( greenPen, curvePoints, offset, numSegments, tension );
}
private void DrawCurvePointFSegmentTension(PaintEventArgs e)
{
// Create pens.
Pen redPen = new Pen(Color.Red, 3);
Pen greenPen = new Pen(Color.Green, 3);
// Create points that define curve.
PointF point1 = new PointF(50.0F, 50.0F);
PointF point2 = new PointF(100.0F, 25.0F);
PointF point3 = new PointF(200.0F, 5.0F);
PointF point4 = new PointF(250.0F, 50.0F);
PointF point5 = new PointF(300.0F, 100.0F);
PointF point6 = new PointF(350.0F, 200.0F);
PointF point7 = new PointF(250.0F, 250.0F);
PointF[] curvePoints = {point1, point2, point3, point4, point5, point6, point7};
// Draw lines between original points to screen.
e.Graphics.DrawLines(redPen, curvePoints);
// Create offset, number of segments, and tension.
int offset = 2;
int numSegments = 4;
float tension = 1.0F;
// Draw curve to screen.
e.Graphics.DrawCurve(greenPen, curvePoints, offset, numSegments, tension);
}
Private Sub DrawCurvePointFSegmentTension(ByVal e As PaintEventArgs)
' Create pens.
Dim redPen As New Pen(Color.Red, 3)
Dim greenPen As New Pen(Color.Green, 3)
' Create points that define curve.
Dim point1 As New PointF(50.0F, 50.0F)
Dim point2 As New PointF(100.0F, 25.0F)
Dim point3 As New PointF(200.0F, 5.0F)
Dim point4 As New PointF(250.0F, 50.0F)
Dim point5 As New PointF(300.0F, 100.0F)
Dim point6 As New PointF(350.0F, 200.0F)
Dim point7 As New PointF(250.0F, 250.0F)
Dim curvePoints As PointF() = {point1, point2, point3, point4, _
point5, point6, point7}
' Draw lines between original points to screen.
e.Graphics.DrawLines(redPen, curvePoints)
' Create offset, number of segments, and tension.
Dim offset As Integer = 2
Dim numSegments As Integer = 4
Dim tension As Single = 1.0F
' Draw curve to screen.
e.Graphics.DrawCurve(greenPen, curvePoints, offset, numSegments, _
tension)
End Sub
Комментарии
Этот метод рисует кардинальный сплайн, который проходит через каждую точку в массиве.
Массив точек должен содержать по крайней мере три PointF структуры для рисования кривой.
Значение offset
параметра указывает количество элементов, которые необходимо пропустить в массиве. Первый элемент после пропущенных элементов представляет начальную точку кривой.
Значение numberOfSegments
параметра указывает количество сегментов после начальной точки для рисования в кривой. Значение numberOfSegments
параметра должно быть не менее 1. Значение offset
параметра плюс значение numberOfSegments
параметра должно быть меньше числа элементов в массиве points
параметра.
Параметр tension
определяет форму сплайна. Если значение tension
параметра равно 0,0F, этот метод рисует сегменты прямой линии для соединения точек. Как правило, tension
параметр меньше или равен 1,0F. Значения выше 1,0F дают необычные результаты.
Применяется к
DrawCurve(Pen, Point[], Int32, Int32, Single)
- Исходный код:
- Graphics.cs
- Исходный код:
- Graphics.cs
- Исходный код:
- Graphics.cs
Строит фундаментальный сплайн через точки указанного массива структур Point с указанным натяжением.
public:
void DrawCurve(System::Drawing::Pen ^ pen, cli::array <System::Drawing::Point> ^ points, int offset, int numberOfSegments, float tension);
public void DrawCurve (System.Drawing.Pen pen, System.Drawing.Point[] points, int offset, int numberOfSegments, float tension);
member this.DrawCurve : System.Drawing.Pen * System.Drawing.Point[] * int * int * single -> unit
Public Sub DrawCurve (pen As Pen, points As Point(), offset As Integer, numberOfSegments As Integer, tension As Single)
Параметры
- offset
- Int32
Смещение от первого элемента в массиве параметра points
до начальной точки кривой.
- numberOfSegments
- Int32
Количество сегментов, включаемых в кривую после начальной точки.
- tension
- Single
Значение не ниже 0,0F, которое задает натяжение кривой.
Исключения
Примеры
Следующий пример кода предназначен для использования с Windows Forms и требует PaintEventArgse
, который является параметром обработчика Paint событий. Код выполняет следующие действия.
Создает красные и зеленые ручки.
Создает семь точек для определения кривой.
Рисует шесть красных прямых линий между семью точками, образуя неполный многоугольник.
Определяет смещение начальной точки и количество сегментов.
Определяет напряженность.
Рисует открытую зеленую кривую (начиная с третьей точки) через последние пять пунктов.
Метод устанавливает для натяжения значение 1,0.
private:
void DrawCurvePointSegmentTension( PaintEventArgs^ e )
{
// Create pens.
Pen^ redPen = gcnew Pen( Color::Red,3.0f );
Pen^ greenPen = gcnew Pen( Color::Green,3.0f );
// Create points that define curve.
Point point1 = Point(50,50);
Point point2 = Point(100,25);
Point point3 = Point(200,5);
Point point4 = Point(250,50);
Point point5 = Point(300,100);
Point point6 = Point(350,200);
Point point7 = Point(250,250);
array<Point>^ curvePoints = {point1,point2,point3,point4,point5,point6,point7};
// Draw lines between original points to screen.
e->Graphics->DrawLines( redPen, curvePoints );
// Create offset, number of segments, and tension.
int offset = 2;
int numSegments = 4;
float tension = 1.0F;
// Draw curve to screen.
e->Graphics->DrawCurve( greenPen, curvePoints, offset, numSegments, tension );
}
private void DrawCurvePointSegmentTension(PaintEventArgs e)
{
// Create pens.
Pen redPen = new Pen(Color.Red, 3);
Pen greenPen = new Pen(Color.Green, 3);
// Create points that define curve.
Point point1 = new Point(50, 50);
Point point2 = new Point(100, 25);
Point point3 = new Point(200, 5);
Point point4 = new Point(250, 50);
Point point5 = new Point(300, 100);
Point point6 = new Point(350, 200);
Point point7 = new Point(250, 250);
Point[] curvePoints = {point1, point2, point3, point4, point5, point6, point7};
// Draw lines between original points to screen.
e.Graphics.DrawLines(redPen, curvePoints);
// Create offset, number of segments, and tension.
int offset = 2;
int numSegments = 4;
float tension = 1.0F;
// Draw curve to screen.
e.Graphics.DrawCurve(greenPen, curvePoints, offset, numSegments, tension);
}
Private Sub DrawCurvePointSegmentTension(ByVal e As PaintEventArgs)
' Create pens.
Dim redPen As New Pen(Color.Red, 3)
Dim greenPen As New Pen(Color.Green, 3)
' Create points that define curve.
Dim point1 As New Point(50, 50)
Dim point2 As New Point(100, 25)
Dim point3 As New Point(200, 5)
Dim point4 As New Point(250, 50)
Dim point5 As New Point(300, 100)
Dim point6 As New Point(350, 200)
Dim point7 As New Point(250, 250)
Dim curvePoints As Point() = {point1, point2, point3, point4, _
point5, point6, point7}
' Draw lines between original points to screen.
e.Graphics.DrawLines(redPen, curvePoints)
' Create offset, number of segments, and tension.
Dim offset As Integer = 2
Dim numSegments As Integer = 4
Dim tension As Single = 1.0F
' Draw curve to screen.
e.Graphics.DrawCurve(greenPen, curvePoints, offset, numSegments, _
tension)
End Sub
Комментарии
Этот метод рисует кардинальный сплайн, который проходит через каждую точку в массиве.
Массив точек должен содержать по крайней мере три Point структуры для рисования кривой.
Значение offset
параметра указывает количество элементов, которые необходимо пропустить в массиве. Первый элемент после пропущенных элементов представляет начальную точку кривой.
Значение numberOfSegments
параметра указывает количество сегментов после начальной точки для рисования в кривой. Значение numberOfSegments
параметра должно быть не менее 1. Значение offset
параметра плюс значение numberOfSegments
параметра должно быть меньше числа элементов в массиве points
параметра.
Параметр tension
определяет форму сплайна. Если значение tension
параметра равно 0,0F, этот метод рисует сегменты прямой линии для соединения точек. Как правило, tension
параметр меньше или равен 1,0F. Значения выше 1,0F дают необычные результаты.
Применяется к
DrawCurve(Pen, ReadOnlySpan<PointF>, Int32, Int32)
- Исходный код:
- Graphics.cs
public:
void DrawCurve(System::Drawing::Pen ^ pen, ReadOnlySpan<System::Drawing::PointF> points, int offset, int numberOfSegments);
public void DrawCurve (System.Drawing.Pen pen, ReadOnlySpan<System.Drawing.PointF> points, int offset, int numberOfSegments);
member this.DrawCurve : System.Drawing.Pen * ReadOnlySpan<System.Drawing.PointF> * int * int -> unit
Public Sub DrawCurve (pen As Pen, points As ReadOnlySpan(Of PointF), offset As Integer, numberOfSegments As Integer)
Параметры
- pen
- Pen
- points
- ReadOnlySpan<PointF>
- offset
- Int32
- numberOfSegments
- Int32
Применяется к
DrawCurve(Pen, PointF[], Int32, Int32)
- Исходный код:
- Graphics.cs
- Исходный код:
- Graphics.cs
- Исходный код:
- Graphics.cs
Строит фундаментальный сплайн через точки указанного массива структур PointF. Смещение при рисовании начинается от начала массива.
public:
void DrawCurve(System::Drawing::Pen ^ pen, cli::array <System::Drawing::PointF> ^ points, int offset, int numberOfSegments);
public void DrawCurve (System.Drawing.Pen pen, System.Drawing.PointF[] points, int offset, int numberOfSegments);
member this.DrawCurve : System.Drawing.Pen * System.Drawing.PointF[] * int * int -> unit
Public Sub DrawCurve (pen As Pen, points As PointF(), offset As Integer, numberOfSegments As Integer)
Параметры
- offset
- Int32
Смещение от первого элемента в массиве параметра points
до начальной точки кривой.
- numberOfSegments
- Int32
Количество сегментов, включаемых в кривую после начальной точки.
Исключения
Примеры
Следующий пример кода предназначен для использования с Windows Forms и требует PaintEventArgse
, который является параметром обработчика Paint событий. Код выполняет следующие действия.
Создает красные и зеленые ручки.
Создает семь точек для определения кривой.
Рисует шесть красных прямых линий между семью точками, образуя неполный многоугольник.
Определяет смещение начальной точки и количество сегментов.
Рисует открытую зеленую кривую (начиная с третьей точки) через последние пять пунктов.
Метод использует напряжение по умолчанию 0,5.
private:
void DrawCurvePointFSegments( PaintEventArgs^ e )
{
// Create pens.
Pen^ redPen = gcnew Pen( Color::Red,3.0f );
Pen^ greenPen = gcnew Pen( Color::Green,3.0f );
// Create points that define curve.
PointF point1 = PointF(50.0F,50.0F);
PointF point2 = PointF(100.0F,25.0F);
PointF point3 = PointF(200.0F,5.0F);
PointF point4 = PointF(250.0F,50.0F);
PointF point5 = PointF(300.0F,100.0F);
PointF point6 = PointF(350.0F,200.0F);
PointF point7 = PointF(250.0F,250.0F);
array<PointF>^ curvePoints = {point1,point2,point3,point4,point5,point6,point7};
// Draw lines between original points to screen.
e->Graphics->DrawLines( redPen, curvePoints );
// Create offset and number of segments.
int offset = 2;
int numSegments = 4;
// Draw curve to screen.
e->Graphics->DrawCurve( greenPen, curvePoints, offset, numSegments );
}
private void DrawCurvePointFSegments(PaintEventArgs e)
{
// Create pens.
Pen redPen = new Pen(Color.Red, 3);
Pen greenPen = new Pen(Color.Green, 3);
// Create points that define curve.
PointF point1 = new PointF(50.0F, 50.0F);
PointF point2 = new PointF(100.0F, 25.0F);
PointF point3 = new PointF(200.0F, 5.0F);
PointF point4 = new PointF(250.0F, 50.0F);
PointF point5 = new PointF(300.0F, 100.0F);
PointF point6 = new PointF(350.0F, 200.0F);
PointF point7 = new PointF(250.0F, 250.0F);
PointF[] curvePoints = {point1, point2, point3, point4, point5, point6, point7};
// Draw lines between original points to screen.
e.Graphics.DrawLines(redPen, curvePoints);
// Create offset and number of segments.
int offset = 2;
int numSegments = 4;
// Draw curve to screen.
e.Graphics.DrawCurve(greenPen, curvePoints, offset, numSegments);
}
Private Sub DrawCurvePointFSegments(ByVal e As PaintEventArgs)
' Create pens.
Dim redPen As New Pen(Color.Red, 3)
Dim greenPen As New Pen(Color.Green, 3)
' Create points that define curve.
Dim point1 As New PointF(50.0F, 50.0F)
Dim point2 As New PointF(100.0F, 25.0F)
Dim point3 As New PointF(200.0F, 5.0F)
Dim point4 As New PointF(250.0F, 50.0F)
Dim point5 As New PointF(300.0F, 100.0F)
Dim point6 As New PointF(350.0F, 200.0F)
Dim point7 As New PointF(250.0F, 250.0F)
Dim curvePoints As PointF() = {point1, point2, point3, point4, _
point5, point6, point7}
' Draw lines between original points to screen.
e.Graphics.DrawLines(redPen, curvePoints)
' Create offset and number of segments.
Dim offset As Integer = 2
Dim numSegments As Integer = 4
' Draw curve to screen.
e.Graphics.DrawCurve(greenPen, curvePoints, offset, numSegments)
End Sub
Комментарии
Этот метод рисует кардинальный сплайн, который проходит через каждую точку в массиве.
Массив точек должен содержать по крайней мере три PointF структуры для рисования кривой.
Значение offset
параметра указывает количество элементов, которые необходимо пропустить в массиве. Первый элемент после пропущенных элементов представляет начальную точку кривой.
Значение numberOfSegments
параметра указывает количество сегментов после начальной точки для рисования в кривой. Значение numberOfSegments
параметра должно быть не менее 1. Значение offset
параметра плюс значение numberOfSegments
параметра должно быть меньше числа элементов в массиве points
параметра.
Этот метод использует натяжение по умолчанию 0,5.
Применяется к
DrawCurve(Pen, PointF[], Single)
- Исходный код:
- Graphics.cs
- Исходный код:
- Graphics.cs
- Исходный код:
- Graphics.cs
Строит фундаментальный сплайн через точки указанного массива структур PointF с указанным натяжением.
public:
void DrawCurve(System::Drawing::Pen ^ pen, cli::array <System::Drawing::PointF> ^ points, float tension);
public void DrawCurve (System.Drawing.Pen pen, System.Drawing.PointF[] points, float tension);
member this.DrawCurve : System.Drawing.Pen * System.Drawing.PointF[] * single -> unit
Public Sub DrawCurve (pen As Pen, points As PointF(), tension As Single)
Параметры
- tension
- Single
Значение не ниже 0,0F, которое задает натяжение кривой.
Исключения
Примеры
Следующий пример кода предназначен для использования с Windows Forms и требует PaintEventArgse
, который является параметром обработчика Paint событий. Код выполняет следующие действия.
Создает красные и зеленые ручки.
Создает семь точек для определения кривой.
Рисует шесть красных прямых линий между семью точками, образуя неполный многоугольник.
Создает параметр натяжения.
Рисует открытую зеленую замкнутую кривую через семь точек.
Метод использует напряжение 1,0.
private:
void DrawCurvePointFTension( PaintEventArgs^ e )
{
// Create pens.
Pen^ redPen = gcnew Pen( Color::Red,3.0f );
Pen^ greenPen = gcnew Pen( Color::Green,3.0f );
// Create points that define curve.
PointF point1 = PointF(50.0F,50.0F);
PointF point2 = PointF(100.0F,25.0F);
PointF point3 = PointF(200.0F,5.0F);
PointF point4 = PointF(250.0F,50.0F);
PointF point5 = PointF(300.0F,100.0F);
PointF point6 = PointF(350.0F,200.0F);
PointF point7 = PointF(250.0F,250.0F);
array<PointF>^ curvePoints = {point1,point2,point3,point4,point5,point6,point7};
// Draw lines between original points to screen.
e->Graphics->DrawLines( redPen, curvePoints );
// Create tension.
float tension = 1.0F;
// Draw curve to screen.
e->Graphics->DrawCurve( greenPen, curvePoints, tension );
}
private void DrawCurvePointFTension(PaintEventArgs e)
{
// Create pens.
Pen redPen = new Pen(Color.Red, 3);
Pen greenPen = new Pen(Color.Green, 3);
// Create points that define curve.
PointF point1 = new PointF(50.0F, 50.0F);
PointF point2 = new PointF(100.0F, 25.0F);
PointF point3 = new PointF(200.0F, 5.0F);
PointF point4 = new PointF(250.0F, 50.0F);
PointF point5 = new PointF(300.0F, 100.0F);
PointF point6 = new PointF(350.0F, 200.0F);
PointF point7 = new PointF(250.0F, 250.0F);
PointF[] curvePoints = {point1, point2, point3, point4, point5, point6, point7};
// Draw lines between original points to screen.
e.Graphics.DrawLines(redPen, curvePoints);
// Create tension.
float tension = 1.0F;
// Draw curve to screen.
e.Graphics.DrawCurve(greenPen, curvePoints, tension);
}
Private Sub DrawCurvePointFTension(ByVal e As PaintEventArgs)
' Create pens.
Dim redPen As New Pen(Color.Red, 3)
Dim greenPen As New Pen(Color.Green, 3)
' Create points that define curve.
Dim point1 As New PointF(50.0F, 50.0F)
Dim point2 As New PointF(100.0F, 25.0F)
Dim point3 As New PointF(200.0F, 5.0F)
Dim point4 As New PointF(250.0F, 50.0F)
Dim point5 As New PointF(300.0F, 100.0F)
Dim point6 As New PointF(350.0F, 200.0F)
Dim point7 As New PointF(250.0F, 250.0F)
Dim curvePoints As PointF() = {point1, point2, point3, point4, _
point5, point6, point7}
' Draw lines between original points to screen.
e.Graphics.DrawLines(redPen, curvePoints)
' Create tension.
Dim tension As Single = 1.0F
' Draw curve to screen.
e.Graphics.DrawCurve(greenPen, curvePoints, tension)
End Sub
Комментарии
Этот метод рисует кардинальный сплайн, который проходит через каждую точку в массиве.
Массив точек должен содержать по крайней мере три PointF структуры для отрисовки кривой.
Параметр tension
определяет форму сплайна. Если значение tension
параметра равно 0,0F, этот метод рисует сегменты прямой линии для соединения точек. Как правило, tension
параметр меньше или равен 1.0F. Значения более 1,0F дают необычные результаты.
Применяется к
DrawCurve(Pen, Point[], Single)
- Исходный код:
- Graphics.cs
- Исходный код:
- Graphics.cs
- Исходный код:
- Graphics.cs
Строит фундаментальный сплайн через точки указанного массива структур Point с указанным натяжением.
public:
void DrawCurve(System::Drawing::Pen ^ pen, cli::array <System::Drawing::Point> ^ points, float tension);
public void DrawCurve (System.Drawing.Pen pen, System.Drawing.Point[] points, float tension);
member this.DrawCurve : System.Drawing.Pen * System.Drawing.Point[] * single -> unit
Public Sub DrawCurve (pen As Pen, points As Point(), tension As Single)
Параметры
- tension
- Single
Значение не ниже 0,0F, которое задает натяжение кривой.
Исключения
Примеры
Следующий пример кода предназначен для использования с Windows Forms и требует PaintEventArgse
, который является параметром обработчика Paint событий. Код выполняет следующие действия.
Создает красные и зеленые ручки.
Создает семь точек для определения кривой.
Рисует шесть красных прямых линий между семью точками, образуя неполный многоугольник.
Создает параметр натяжения.
Рисует открытую зеленую замкнутую кривую через семь точек.
Метод использует напряжение 1,0.
private:
void DrawCurvePointTension( PaintEventArgs^ e )
{
// Create pens.
Pen^ redPen = gcnew Pen( Color::Red,3.0f );
Pen^ greenPen = gcnew Pen( Color::Green,3.0f );
// Create points that define curve.
Point point1 = Point(50,50);
Point point2 = Point(100,25);
Point point3 = Point(200,5);
Point point4 = Point(250,50);
Point point5 = Point(300,100);
Point point6 = Point(350,200);
Point point7 = Point(250,250);
array<Point>^ curvePoints = {point1,point2,point3,point4,point5,point6,point7};
// Draw lines between original points to screen.
e->Graphics->DrawLines( redPen, curvePoints );
// Create tension.
float tension = 1.0F;
// Draw curve to screen.
e->Graphics->DrawCurve( greenPen, curvePoints, tension );
}
private void DrawCurvePointTension(PaintEventArgs e)
{
// Create pens.
Pen redPen = new Pen(Color.Red, 3);
Pen greenPen = new Pen(Color.Green, 3);
// Create points that define curve.
Point point1 = new Point(50, 50);
Point point2 = new Point(100, 25);
Point point3 = new Point(200, 5);
Point point4 = new Point(250, 50);
Point point5 = new Point(300, 100);
Point point6 = new Point(350, 200);
Point point7 = new Point(250, 250);
Point[] curvePoints = {point1, point2, point3, point4, point5, point6, point7};
// Draw lines between original points to screen.
e.Graphics.DrawLines(redPen, curvePoints);
// Create tension.
float tension = 1.0F;
// Draw curve to screen.
e.Graphics.DrawCurve(greenPen, curvePoints, tension);
}
Private Sub DrawCurvePointTension(ByVal e As PaintEventArgs)
' Create pens.
Dim redPen As New Pen(Color.Red, 3)
Dim greenPen As New Pen(Color.Green, 3)
' Create points that define curve.
Dim point1 As New Point(50, 50)
Dim point2 As New Point(100, 25)
Dim point3 As New Point(200, 5)
Dim point4 As New Point(250, 50)
Dim point5 As New Point(300, 100)
Dim point6 As New Point(350, 200)
Dim point7 As New Point(250, 250)
Dim curvePoints As Point() = {point1, point2, point3, point4, _
point5, point6, point7}
' Draw lines between original points to screen.
e.Graphics.DrawLines(redPen, curvePoints)
' Create tension.
Dim tension As Single = 1.0F
' Draw curve to screen.
e.Graphics.DrawCurve(greenPen, curvePoints, tension)
End Sub
Комментарии
Этот метод рисует кардинальный сплайн, который проходит через каждую точку в массиве.
Массив точек должен содержать по крайней мере три Point структуры для отрисовки кривой.
Параметр tension
определяет форму сплайна. Если значение tension
параметра равно 0,0F, этот метод рисует сегменты прямой линии для соединения точек. Как правило, tension
параметр меньше или равен 1.0F. Значения более 1,0F дают необычные результаты.
Применяется к
DrawCurve(Pen, ReadOnlySpan<PointF>)
- Исходный код:
- Graphics.cs
public:
void DrawCurve(System::Drawing::Pen ^ pen, ReadOnlySpan<System::Drawing::PointF> points);
public void DrawCurve (System.Drawing.Pen pen, ReadOnlySpan<System.Drawing.PointF> points);
member this.DrawCurve : System.Drawing.Pen * ReadOnlySpan<System.Drawing.PointF> -> unit
Public Sub DrawCurve (pen As Pen, points As ReadOnlySpan(Of PointF))
Параметры
- pen
- Pen
- points
- ReadOnlySpan<PointF>
Применяется к
DrawCurve(Pen, ReadOnlySpan<Point>)
- Исходный код:
- Graphics.cs
public:
void DrawCurve(System::Drawing::Pen ^ pen, ReadOnlySpan<System::Drawing::Point> points);
public void DrawCurve (System.Drawing.Pen pen, ReadOnlySpan<System.Drawing.Point> points);
member this.DrawCurve : System.Drawing.Pen * ReadOnlySpan<System.Drawing.Point> -> unit
Public Sub DrawCurve (pen As Pen, points As ReadOnlySpan(Of Point))
Параметры
- pen
- Pen
- points
- ReadOnlySpan<Point>
Применяется к
DrawCurve(Pen, PointF[])
- Исходный код:
- Graphics.cs
- Исходный код:
- Graphics.cs
- Исходный код:
- Graphics.cs
Строит фундаментальный сплайн через точки указанного массива структур PointF.
public:
void DrawCurve(System::Drawing::Pen ^ pen, cli::array <System::Drawing::PointF> ^ points);
public:
void DrawCurve(System::Drawing::Pen ^ pen, ... cli::array <System::Drawing::PointF> ^ points);
public void DrawCurve (System.Drawing.Pen pen, System.Drawing.PointF[] points);
public void DrawCurve (System.Drawing.Pen pen, params System.Drawing.PointF[] points);
member this.DrawCurve : System.Drawing.Pen * System.Drawing.PointF[] -> unit
Public Sub DrawCurve (pen As Pen, points As PointF())
Public Sub DrawCurve (pen As Pen, ParamArray points As PointF())
Параметры
Исключения
Примеры
Следующий пример кода предназначен для использования с Windows Forms и требует PaintEventArgse
, который является параметром обработчика Paint событий. Код выполняет следующие действия.
Создает красные и зеленые ручки.
Создает семь точек для определения кривой.
Рисует шесть красных прямых линий между семью точками, образуя неполный многоугольник.
Рисует открытую зеленую кривую через семь точек.
Метод использует натяжение по умолчанию 0,5.
private:
void DrawCurvePointF( PaintEventArgs^ e )
{
// Create pens.
Pen^ redPen = gcnew Pen( Color::Red,3.0f );
Pen^ greenPen = gcnew Pen( Color::Green,3.0f );
// Create points that define curve.
PointF point1 = PointF(50.0F,50.0F);
PointF point2 = PointF(100.0F,25.0F);
PointF point3 = PointF(200.0F,5.0F);
PointF point4 = PointF(250.0F,50.0F);
PointF point5 = PointF(300.0F,100.0F);
PointF point6 = PointF(350.0F,200.0F);
PointF point7 = PointF(250.0F,250.0F);
array<PointF>^ curvePoints = {point1,point2,point3,point4,point5,point6,point7};
// Draw lines between original points to screen.
e->Graphics->DrawLines( redPen, curvePoints );
// Draw curve to screen.
e->Graphics->DrawCurve( greenPen, curvePoints );
}
private void DrawCurvePointF(PaintEventArgs e)
{
// Create pens.
Pen redPen = new Pen(Color.Red, 3);
Pen greenPen = new Pen(Color.Green, 3);
// Create points that define curve.
PointF point1 = new PointF(50.0F, 50.0F);
PointF point2 = new PointF(100.0F, 25.0F);
PointF point3 = new PointF(200.0F, 5.0F);
PointF point4 = new PointF(250.0F, 50.0F);
PointF point5 = new PointF(300.0F, 100.0F);
PointF point6 = new PointF(350.0F, 200.0F);
PointF point7 = new PointF(250.0F, 250.0F);
PointF[] curvePoints = {point1, point2, point3, point4, point5, point6, point7};
// Draw lines between original points to screen.
e.Graphics.DrawLines(redPen, curvePoints);
// Draw curve to screen.
e.Graphics.DrawCurve(greenPen, curvePoints);
}
Private Sub DrawCurvePointF(ByVal e As PaintEventArgs)
' Create pens.
Dim redPen As New Pen(Color.Red, 3)
Dim greenPen As New Pen(Color.Green, 3)
' Create points that define curve.
Dim point1 As New PointF(50.0F, 50.0F)
Dim point2 As New PointF(100.0F, 25.0F)
Dim point3 As New PointF(200.0F, 5.0F)
Dim point4 As New PointF(250.0F, 50.0F)
Dim point5 As New PointF(300.0F, 100.0F)
Dim point6 As New PointF(350.0F, 200.0F)
Dim point7 As New PointF(250.0F, 250.0F)
Dim curvePoints As PointF() = {point1, point2, point3, point4, _
point5, point6, point7}
' Draw lines between original points to screen.
e.Graphics.DrawLines(redPen, curvePoints)
' Draw curve to screen.
e.Graphics.DrawCurve(greenPen, curvePoints)
End Sub
Комментарии
Этот метод рисует кардинальный сплайн, который проходит через каждую точку в массиве.
Массив точек должен содержать по крайней мере три PointF структуры для отрисовки кривой.
Этот метод использует натяжение по умолчанию 0,5.
Применяется к
DrawCurve(Pen, Point[])
- Исходный код:
- Graphics.cs
- Исходный код:
- Graphics.cs
- Исходный код:
- Graphics.cs
Строит фундаментальный сплайн через точки указанного массива структур Point.
public:
void DrawCurve(System::Drawing::Pen ^ pen, cli::array <System::Drawing::Point> ^ points);
public:
void DrawCurve(System::Drawing::Pen ^ pen, ... cli::array <System::Drawing::Point> ^ points);
public void DrawCurve (System.Drawing.Pen pen, System.Drawing.Point[] points);
public void DrawCurve (System.Drawing.Pen pen, params System.Drawing.Point[] points);
member this.DrawCurve : System.Drawing.Pen * System.Drawing.Point[] -> unit
Public Sub DrawCurve (pen As Pen, points As Point())
Public Sub DrawCurve (pen As Pen, ParamArray points As Point())
Параметры
Исключения
Примеры
Следующий пример кода предназначен для использования с Windows Forms и требует PaintEventArgse
, который является параметром обработчика Paint событий. Код выполняет следующие действия.
Создает красные и зеленые ручки.
Создает семь точек для определения кривой.
Рисует шесть красных прямых линий между семью точками, образуя неполный многоугольник.
Рисует открытую зеленую кривую через семь точек.
Метод использует натяжение по умолчанию 0,5.
private:
void DrawCurvePoint( PaintEventArgs^ e )
{
// Create pens.
Pen^ redPen = gcnew Pen( Color::Red,3.0f );
Pen^ greenPen = gcnew Pen( Color::Green,3.0f );
// Create points that define curve.
Point point1 = Point(50,50);
Point point2 = Point(100,25);
Point point3 = Point(200,5);
Point point4 = Point(250,50);
Point point5 = Point(300,100);
Point point6 = Point(350,200);
Point point7 = Point(250,250);
array<Point>^ curvePoints = {point1,point2,point3,point4,point5,point6,point7};
// Draw lines between original points to screen.
e->Graphics->DrawLines( redPen, curvePoints );
// Draw curve to screen.
e->Graphics->DrawCurve( greenPen, curvePoints );
}
private void DrawCurvePoint(PaintEventArgs e)
{
// Create pens.
Pen redPen = new Pen(Color.Red, 3);
Pen greenPen = new Pen(Color.Green, 3);
// Create points that define curve.
Point point1 = new Point(50, 50);
Point point2 = new Point(100, 25);
Point point3 = new Point(200, 5);
Point point4 = new Point(250, 50);
Point point5 = new Point(300, 100);
Point point6 = new Point(350, 200);
Point point7 = new Point(250, 250);
Point[] curvePoints = {point1, point2, point3, point4, point5, point6, point7};
// Draw lines between original points to screen.
e.Graphics.DrawLines(redPen, curvePoints);
// Draw curve to screen.
e.Graphics.DrawCurve(greenPen, curvePoints);
}
Private Sub DrawCurvePoint(ByVal e As PaintEventArgs)
' Create pens.
Dim redPen As New Pen(Color.Red, 3)
Dim greenPen As New Pen(Color.Green, 3)
' Create points that define curve.
Dim point1 As New Point(50, 50)
Dim point2 As New Point(100, 25)
Dim point3 As New Point(200, 5)
Dim point4 As New Point(250, 50)
Dim point5 As New Point(300, 100)
Dim point6 As New Point(350, 200)
Dim point7 As New Point(250, 250)
Dim curvePoints As Point() = {point1, point2, point3, point4, _
point5, point6, point7}
' Draw lines between original points to screen.
e.Graphics.DrawLines(redPen, curvePoints)
' Draw curve to screen.
e.Graphics.DrawCurve(greenPen, curvePoints)
End Sub
Комментарии
Этот метод рисует кардинальный сплайн, который проходит через каждую точку в массиве.
Массив точек должен содержать по крайней мере три Point структуры для отрисовки кривой.
Этот метод использует натяжение по умолчанию 0,5.
Применяется к
DrawCurve(Pen, ReadOnlySpan<Point>, Single)
- Исходный код:
- Graphics.cs
public:
void DrawCurve(System::Drawing::Pen ^ pen, ReadOnlySpan<System::Drawing::Point> points, float tension);
public void DrawCurve (System.Drawing.Pen pen, ReadOnlySpan<System.Drawing.Point> points, float tension);
member this.DrawCurve : System.Drawing.Pen * ReadOnlySpan<System.Drawing.Point> * single -> unit
Public Sub DrawCurve (pen As Pen, points As ReadOnlySpan(Of Point), tension As Single)
Параметры
- pen
- Pen
- points
- ReadOnlySpan<Point>
- tension
- Single
Применяется к
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по