Idioma

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

Definição

Precede a escala especificada em torno do ponto especificado deste 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

O fator de escala do eixo x.

scaleY
Double

O fator de escala do eixo y.

centerX
Double

A coordenada x do ponto em torno do qual a operação de escala é realizada.

centerY
Double

A coordenada y do ponto em torno do qual a operação de escala é realizada.

Exemplos

O exemplo seguinte mostra como anteceder uma escala a um 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;
}

Observações

Numa transformação composta, a ordem das transformações individuais é importante. Por exemplo, se você primeiro girar, depois escalar, depois traduzir, obterá um resultado diferente do que se primeiro traduzir, depois girar, depois escalar. Uma razão pela qual a ordem é significativa é que transformações como rotação e dimensionamento são feitas em relação à origem do sistema de coordenadas. Dimensionar um objeto que está centrado na origem produz um resultado diferente do dimensionamento de um objeto que foi movido para longe da origem. Da mesma forma, girar um objeto que está centrado na origem produz um resultado diferente de girar um objeto que foi movido para longe da origem.

Aplica-se a