Matrix.ScaleAtPrepend(Double, Double, Double, Double) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.