Matrix.ScaleAtPrepend(Double, Double, Double, Double) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt der Matrix die angegebene Skalierung auf dem angegebenen Punkt voran.
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)
Parameter
- scaleX
- Double
Der Skalierungsfaktor für die x-Achse.
- scaleY
- Double
Der Skalierungsfaktor für die y-Achse.
- centerX
- Double
Die x-Koordinate des Punkts, auf dem die Skalierung ausgeführt wird.
- centerY
- Double
Die y-Koordinate des Punkts, auf dem die Skalierung ausgeführt wird.
Beispiele
Im folgenden Beispiel wird gezeigt, wie Sie eine Skalierung in eine MatrixSkalierung vorstellen.
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;
}
Hinweise
In einer zusammengesetzten Transformation ist die Reihenfolge einzelner Transformationen wichtig. Wenn Sie beispielsweise zuerst drehen, dann skalieren Sie, und übersetzen Sie dann ein anderes Ergebnis, als wenn Sie zuerst übersetzen, dann drehen und dann skalieren. Ein Grund für die Reihenfolge ist, dass Transformationen wie Drehung und Skalierung im Hinblick auf den Ursprung des Koordinatensystems durchgeführt werden. Das Skalieren eines Objekts, das am Ursprung zentriert ist, erzeugt ein anderes Ergebnis als die Skalierung eines Objekts, das vom Ursprung entfernt wurde. Ähnlich erzeugt die Drehung eines Objekts, das am Ursprung zentriert ist, ein anderes Ergebnis als das Drehen eines Objekts, das vom Ursprung entfernt wurde.