Graphics.ScaleTransform 方法

定義

將指定的縮放作業套用至這個 Graphics 的轉換矩陣,方法是將它前面加上物件的轉換矩陣。

多載

ScaleTransform(Single, Single)

將指定的縮放作業套用至這個 Graphics 的轉換矩陣,方法是將它前面加上物件的轉換矩陣。

ScaleTransform(Single, Single, MatrixOrder)

依指定的順序,將指定的縮放作業套用至這個 Graphics 的轉換矩陣。

ScaleTransform(Single, Single)

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

將指定的縮放作業套用至這個 Graphics 的轉換矩陣,方法是將它前面加上物件的轉換矩陣。

C#
public void ScaleTransform (float sx, float sy);

參數

sx
Single

X 方向的縮放比例。

sy
Single

Y 方向的縮放比例。

範例

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

  • 旋轉 Windows Form 的世界轉換矩陣 30 度。

  • 在縮放轉換前面加上縮放比例,以 x 方向的 3 乘以 3 乘以 1 的因數縮放該矩陣。

  • 使用藍色畫筆繪製縮放的旋轉矩形。

結果仍然是矩形。

C#
private void ScaleTransformFloat(PaintEventArgs e)
{

    // Set world transform of graphics object to rotate.
    e.Graphics.RotateTransform(30.0F);

    // Then to scale, prepending to world transform.
    e.Graphics.ScaleTransform(3.0F, 1.0F);

    // Draw scaled, rotated rectangle to screen.
    e.Graphics.DrawRectangle(new Pen(Color.Blue, 3), 50, 0, 100, 40);
}

備註

縮放作業包含將轉換矩陣乘以對角矩陣,其元素為 (sxsy、1)。 此方法會在縮放矩陣前面加上 Graphics 的轉換矩陣。

適用於

.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

ScaleTransform(Single, Single, MatrixOrder)

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

依指定的順序,將指定的縮放作業套用至這個 Graphics 的轉換矩陣。

C#
public void ScaleTransform (float sx, float sy, System.Drawing.Drawing2D.MatrixOrder order);

參數

sx
Single

X 方向的縮放比例。

sy
Single

Y 方向的縮放比例。

order
MatrixOrder

MatrixOrder 列舉的成員,指定縮放作業是前面加上還是附加至轉換矩陣。

範例

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

  • 旋轉 Windows Form 的世界轉換矩陣 30 度。

  • 將縮放轉換附加至 Append 成員,以 x 方向的 3 乘以 3 乘以 Y 方向的因數縮放該矩陣。

  • 使用藍色畫筆繪製旋轉的縮放矩形。

結果是平行方圖。

C#
private void ScaleTransformFloatMatrixOrder(PaintEventArgs e)
{

    // Set world transform of graphics object to rotate.
    e.Graphics.RotateTransform(30.0F);

    // Then to scale, appending to world transform.
    e.Graphics.ScaleTransform(3.0F, 1.0F, MatrixOrder.Append);

    // Draw rotated, scaled rectangle to screen.
    e.Graphics.DrawRectangle(new Pen(Color.Blue, 3), 50, 0, 100, 40);
}

備註

縮放作業包含將轉換矩陣乘以對角矩陣,其元素為 (sxsy、1)。 這個方法會根據 order 參數,在縮放矩陣前面加上或附加 Graphics 的轉換矩陣。

適用於

.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