Condividi tramite


Matrix.ScaleAtPrepend(Double, Double, Double, Double) Metodo

Definizione

Antepone il ridimensionamento specificato rispetto al punto definito di questa struttura 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)

Parametri

scaleX
Double

Fattore di scala dell'asse x.

scaleY
Double

Fattore di scala dell'asse y.

centerX
Double

Coordinata x del punto rispetto al quale viene eseguita l'operazione di ridimensionamento.

centerY
Double

Coordinata y del punto rispetto al quale viene eseguita l'operazione di ridimensionamento.

Esempio

Nell'esempio seguente viene illustrato come anteporre una scala a un oggetto 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;
}

Commenti

In una trasformazione composita l'ordine delle singole trasformazioni è importante. Ad esempio, se si ruota per la prima volta, quindi si ridimensiona, si ottiene un risultato diverso rispetto a se si traduce per la prima volta, quindi ruotare, quindi ridimensionare. Un ordine motivo è significativo è che le trasformazioni come rotazione e ridimensionamento vengono eseguite rispetto all'origine del sistema di coordinate. Il ridimensionamento di un oggetto centrato sull'origine produce un risultato diverso rispetto al ridimensionamento di un oggetto spostato dall'origine. Analogamente, la rotazione di un oggetto centrato in corrispondenza dell'origine produce un risultato diverso rispetto alla rotazione di un oggetto spostato dall'origine.

Si applica a