Matrix.ScaleAtPrepend(Double, Double, Double, Double) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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.