Sdílet prostřednictvím


Matrix.ScaleAtPrepend(Double, Double, Double, Double) Metoda

Definice

Předpendá zadané měřítko o zadaném bodu tohoto 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)

Parametry

scaleX
Double

Faktor měřítka osy x.

scaleY
Double

Faktor měřítka osy y.

centerX
Double

Souřadnice x bodu, o kterém se provádí operace škálování.

centerY
Double

Souřadnice y bodu, o kterém se provádí operace škálování.

Příklady

Následující příklad ukazuje, jak předem vytvořit měřítko Matrixna .


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;
}

Poznámky

Ve složené transformaci je důležité pořadí jednotlivých transformací. Pokud například poprvé otočíte, pak škálujete a pak přeložíte, získáte jiný výsledek než při prvním překladu, otočte ho a pak škálujte. Jedním z důvodů je důležité, že transformace, jako je otočení a škálování, se provádějí s ohledem na původ souřadnicového systému. Škálování objektu, který je uprostřed původu, vytvoří jiný výsledek než škálování objektu, který byl přesunut od původu. Podobně rotace objektu, který je uprostřed na počátku, vytváří jiný výsledek než otočení objektu, který byl přesunut od původu.

Platí pro