Matrix.ScaleAt(Double, Double, Double, Double) 方法

定義

以指定的點為中心,將這個 Matrix 縮放指定的量。Scales this Matrix by the specified amount about the specified point.

public:
 void ScaleAt(double scaleX, double scaleY, double centerX, double centerY);
public void ScaleAt (double scaleX, double scaleY, double centerX, double centerY);
member this.ScaleAt : double * double * double * double -> unit
Public Sub ScaleAt (scaleX As Double, scaleY As Double, centerX As Double, centerY As Double)

參數

scaleX
Double

要沿著 X 軸縮放這個 Matrix 的量。The amount by which to scale this Matrix along the x-axis.

scaleY
Double

要沿著 Y 軸縮放這個 Matrix 的量。The amount by which to scale this Matrix along the y-axis.

centerX
Double

縮放作業中心點的 X 座標。The x-coordinate of the scale operation's center point.

centerY
Double

縮放作業中心點的 Y 座標。The y-coordinate of the scale operation's center point.

範例

下列範例顯示如何調整Matrix結構。The following example shows how to scale a Matrix structure.


private Matrix scaleExample()
{
    Matrix myMatrix = new Matrix(5, 10, 15, 20, 25, 30);
    
    // Scale myMatrix by a horizontal factor of 2
    // and a vertical factor of 4 about the origin.
    // After this operation,
    // myMatrix is equal to (10, 40, 30, 80, 50, 120)
    myMatrix.Scale(2, 4);
    
    return myMatrix;

}

private Matrix scaleAboutPointExample()
{
    Matrix myMatrix = new Matrix(5, 10, 15, 20, 25, 30);
    
    // Scale myMatrix by a horizontal factor of 2
    // and a vertical factor of 4 about the 
    // point (100,100).
    // After this operation,
    // myMatrix is equal to (10, 40, 30, 80, -50, -180)
    myMatrix.ScaleAt(2, 4, 100, 100);
    
    return myMatrix;

}        

適用於