Matrix.ScaleAtPrepend(Double, Double, Double, Double) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Poprzedza określoną skalę o określonym punkcie tego Matrixelementu .
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
Współczynnik skalowania osi x.
- scaleY
- Double
Współczynnik skalowania osi y.
- centerX
- Double
Współrzędna x punktu, o którym jest wykonywana operacja skalowania.
- centerY
- Double
Współrzędna y punktu, o którym jest wykonywana operacja skalowania.
Przykłady
W poniższym przykładzie pokazano, jak wstępnie utworzyć skalowanie do .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;
}
Uwagi
W transformacji złożonej kolejność poszczególnych przekształceń jest ważna. Jeśli na przykład najpierw obrócisz, potem skalujesz, a na końcu przesuniesz, uzyskasz inny wynik niż w przypadku, gdy najpierw przesuniesz, potem obrócisz, a na końcu skalujesz. Jednym z powodów, dla których kolejność jest istotna, jest to, że przekształcenia, takie jak rotacja i skalowanie, są wykonywane w odniesieniu do początku układu współrzędnych. Skalowanie obiektu, który jest wyśrodkowany na początku, powoduje inny wynik niż skalowanie obiektu, który został przeniesiony z punktu początkowego. Podobnie obracanie obiektu, który jest wyśrodkowany na początku, powoduje inny wynik niż obracanie obiektu, który został przeniesiony z punktu początkowego.