Matrix.ScaleAtPrepend(Double, Double, Double, Double) Método

Definición

Antepone la escala especificada sobre el punto especificado de este Matrix.

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

Parámetros

scaleX
Double

Factor de escala del eje X.

scaleY
Double

Factor de escala del eje Y.

centerX
Double

Coordenada x del punto sobre el que se realiza la operación de escalado.

centerY
Double

Coordenada y del punto sobre el que se realiza la operación de escalado.

Ejemplos

En el ejemplo siguiente se muestra cómo anteponer una escala a .Matrix


private Matrix scalePrependExample()
{
    Matrix myMatrix = new Matrix(5, 10, 15, 20, 25, 30);
    
    // Prepend a scale ab with a horizontal factor of 2
    // and a vertical factor of 4 about the origin.
    // After this operation,
    // myMatrix is equal to (10, 20, 60, 80, 25, 30)
    myMatrix.ScalePrepend(2, 4);
    
    return myMatrix;
}

private Matrix scalePrependAboutPointExample()
{
    Matrix myMatrix = new Matrix(5, 10, 15, 20, 25, 30);
    
    // Prepend a scale with a horizontal factor of 2
    // and a vertical factor of 4 about the 
    // point (100,100).
    // After this operation,
    // myMatrix is equal to (10, 20, 60, 80, -4975, -6970)
    myMatrix.ScaleAtPrepend(2, 4, 100, 100);
    
    return myMatrix;
}

Comentarios

En una transformación compuesta, el orden de las transformaciones individuales es importante. Por ejemplo, si primero gira, luego escala y después traduce, obtiene un resultado diferente al que si primero traduce, luego gira y, a continuación, escala. Una razón por la que el orden es significativo es que las transformaciones como la rotación y el escalado se realizan en relación con el origen del sistema de coordenadas. El escalado de un objeto centrado en el origen genera un resultado diferente al de escalar un objeto que se ha movido fuera del origen. Del mismo modo, la rotación de un objeto centrado en el origen genera un resultado diferente al de girar un objeto que se ha movido fuera del origen.

Se aplica a