Matrix.ScaleAtPrepend(Double, Double, Double, Double) Matrix.ScaleAtPrepend(Double, Double, Double, Double) Matrix.ScaleAtPrepend(Double, Double, Double, Double) Matrix.ScaleAtPrepend(Double, Double, Double, Double) Method

Definición

Antepone el ajuste de escala especificado sobre el punto especificado de la Matrix.Prepends the specified scale about the specified point of this 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 Double Double Double

Factor de escala del eje X.The x-axis scale factor.

scaleY
Double Double Double Double

Factor de escala del eje Y.The y-axis scale factor.

centerX
Double Double Double Double

La coordenada x del punto sobre el que se realiza la operación de ajuste de escala.The x-coordinate of the point about which the scale operation is performed.

centerY
Double Double Double Double

La coordenada y del punto sobre el que se realiza la operación de ajuste de escala.The y-coordinate of the point about which the scale operation is performed.

Ejemplos

En el ejemplo siguiente se muestra cómo anteponer una escala Matrixa un.The following example shows how to prepend a scale to 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.In a composite transformation, the order of individual transformations is important. Por ejemplo, si primero se gira, después se realiza la escala y después se traduce, se obtiene un resultado diferente que si primero se traslada, después se gira y luego se escala.For example, if you first rotate, then scale, then translate, you get a different result than if you first translate, then rotate, then scale. Un orden de razón es importante es que las transformaciones como la rotación y el escalado se realizan con respecto al origen del sistema de coordenadas.One reason order is significant is that transformations like rotation and scaling are done with respect to the origin of the coordinate system. El escalado de un objeto que está centrado en el origen genera un resultado diferente que el escalado de un objeto que se ha quitado del origen.Scaling an object that is centered at the origin produces a different result than scaling an object that has been moved away from the origin. Del mismo modo, la rotación de un objeto que está centrado en el origen genera un resultado diferente que la rotación de un objeto que se ha quitado del origen.Similarly, rotating an object that is centered at the origin produces a different result than rotating an object that has been moved away from the origin.

Se aplica a