Graphics.TransformPoints 方法

定義

使用這個 Graphics的目前世界和頁面轉換,將點陣列從一個座標空間轉換成另一個座標空間。

多載

TransformPoints(CoordinateSpace, CoordinateSpace, Point[])

使用這個 Graphics的目前世界和頁面轉換,將點陣列從一個座標空間轉換成另一個座標空間。

TransformPoints(CoordinateSpace, CoordinateSpace, PointF[])

使用這個 Graphics的目前世界和頁面轉換,將點陣列從一個座標空間轉換成另一個座標空間。

TransformPoints(CoordinateSpace, CoordinateSpace, ReadOnlySpan<Point>)
TransformPoints(CoordinateSpace, CoordinateSpace, ReadOnlySpan<PointF>)

TransformPoints(CoordinateSpace, CoordinateSpace, Point[])

來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs

使用這個 Graphics的目前世界和頁面轉換,將點陣列從一個座標空間轉換成另一個座標空間。

C#
public void TransformPoints (System.Drawing.Drawing2D.CoordinateSpace destSpace, System.Drawing.Drawing2D.CoordinateSpace srcSpace, System.Drawing.Point[] pts);
C#
public void TransformPoints (System.Drawing.Drawing2D.CoordinateSpace destSpace, System.Drawing.Drawing2D.CoordinateSpace srcSpace, params System.Drawing.Point[] pts);

參數

destSpace
CoordinateSpace

指定目的地座標空間之 CoordinateSpace 列舉的成員。

srcSpace
CoordinateSpace

指定來源座標空間之 CoordinateSpace 列舉的成員。

pts
Point[]

Point 結構陣列,表示要轉換的點。

範例

下列程式代碼範例是專為搭配 Windows Forms 使用而設計,而且需要 PaintEventArgse,這是 Paint 事件處理程式的參數。 程式代碼會執行下列動作:

  • 建立兩個點,並在兩者之間繪製藍色線條。

  • 設定世界轉換,以 x 方向為 40,Y 方向為 30。

  • 將點從世界座標(World)轉換為頁面座標(Page)。

  • 將世界轉換重設為身分識別。

  • 在轉換的點之間繪製紅線。

結果是藍色線條,以及其下方的已轉譯紅線。

C#
private void TransformPointsPoint(PaintEventArgs e)
{

    // Create array of two points.
    Point[] points = { new Point(0, 0), new Point(100, 50) };

    // Draw line connecting two untransformed points.
    e.Graphics.DrawLine(new Pen(Color.Blue, 3), points[0], points[1]);

    // Set world transformation of Graphics object to translate.
    e.Graphics.TranslateTransform(40, 30);

    // Transform points in array from world to page coordinates.
    e.Graphics.TransformPoints(CoordinateSpace.Page, CoordinateSpace.World, points);

    // Reset world transformation.
    e.Graphics.ResetTransform();

    // Draw line that connects transformed points.
    e.Graphics.DrawLine(new Pen(Color.Red, 3), points[0], points[1]);
}

適用於

.NET 9 和其他版本
產品 版本
.NET 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

TransformPoints(CoordinateSpace, CoordinateSpace, PointF[])

來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs

使用這個 Graphics的目前世界和頁面轉換,將點陣列從一個座標空間轉換成另一個座標空間。

C#
public void TransformPoints (System.Drawing.Drawing2D.CoordinateSpace destSpace, System.Drawing.Drawing2D.CoordinateSpace srcSpace, System.Drawing.PointF[] pts);
C#
public void TransformPoints (System.Drawing.Drawing2D.CoordinateSpace destSpace, System.Drawing.Drawing2D.CoordinateSpace srcSpace, params System.Drawing.PointF[] pts);

參數

destSpace
CoordinateSpace

指定目的地座標空間之 CoordinateSpace 列舉的成員。

srcSpace
CoordinateSpace

指定來源座標空間之 CoordinateSpace 列舉的成員。

pts
PointF[]

表示要轉換之點的 PointF 結構陣列。

範例

下列程式代碼範例是專為搭配 Windows Forms 使用而設計,而且需要 PaintEventArgse,這是 Paint 事件處理程式的參數。 程式代碼會執行下列動作:

  • 建立兩個點,並在兩者之間繪製藍色線條。

  • 設定世界轉換,以 x 方向為 40,Y 方向為 30。

  • 將點從世界座標(World)轉換為頁面座標(Page)。

  • 將世界轉換重設為身分識別,並在轉換點之間繪製紅線。

結果是藍色線條,以及其下方的已轉譯紅線。

C#
private void TransformPointsPointF(PaintEventArgs e)
{

    // Create array of two points.
    PointF[] points = { new PointF(0.0F, 0.0F), new PointF(100.0F, 50.0F) };

    // Draw line connecting two untransformed points.
    e.Graphics.DrawLine(new Pen(Color.Blue, 3), points[0], points[1]);

    // Set world transformation of Graphics object to translate.
    e.Graphics.TranslateTransform(40.0F, 30.0F);

    // Transform points in array from world to page coordinates.
    e.Graphics.TransformPoints(CoordinateSpace.Page, CoordinateSpace.World, points);

    // Reset world transformation.
    e.Graphics.ResetTransform();

    // Draw line that connects transformed points.
    e.Graphics.DrawLine(new Pen(Color.Red, 3), points[0], points[1]);
}

適用於

.NET 9 和其他版本
產品 版本
.NET 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

TransformPoints(CoordinateSpace, CoordinateSpace, ReadOnlySpan<Point>)

來源:
Graphics.cs
C#
public void TransformPoints (System.Drawing.Drawing2D.CoordinateSpace destSpace, System.Drawing.Drawing2D.CoordinateSpace srcSpace, scoped ReadOnlySpan<System.Drawing.Point> pts);

參數

destSpace
CoordinateSpace
srcSpace
CoordinateSpace

適用於

.NET 9 和 Windows Desktop 9
產品 版本
.NET 9
Windows Desktop 9

TransformPoints(CoordinateSpace, CoordinateSpace, ReadOnlySpan<PointF>)

來源:
Graphics.cs
C#
public void TransformPoints (System.Drawing.Drawing2D.CoordinateSpace destSpace, System.Drawing.Drawing2D.CoordinateSpace srcSpace, scoped ReadOnlySpan<System.Drawing.PointF> pts);

參數

destSpace
CoordinateSpace
srcSpace
CoordinateSpace

適用於

.NET 9 和 Windows Desktop 9
產品 版本
.NET 9
Windows Desktop 9