Matrix.ScaleAtPrepend(Double, Double, Double, Double) Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Förbereder den angivna skalan om den angivna punkten i den här 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)
Parametrar
- scaleX
- Double
X-axelns skalningsfaktor.
- scaleY
- Double
Y-axelns skalningsfaktor.
- centerX
- Double
X-koordinaten för den punkt där skalningsåtgärden utförs.
- centerY
- Double
y-koordinaten för den punkt där skalningsåtgärden utförs.
Exempel
I följande exempel visas hur du förbereder en skalning till en 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;
}
Kommentarer
I en sammansatt transformering är ordningen på enskilda transformeringar viktig. Om du till exempel först roterar, sedan skalar och sedan översätter, får du ett annat resultat än om du först översätter, roterar och sedan skalar. En orsaksordning är viktig är att omvandlingar som rotation och skalning görs med avseende på koordinatsystemets ursprung. Att skala ett objekt som är centrerat efter ursprunget ger ett annat resultat än att skala ett objekt som har flyttats bort från ursprunget. På samma sätt ger rotation av ett objekt som är centrerat i ursprunget ett annat resultat än att rotera ett objekt som har flyttats bort från ursprunget.