Språk

Matrix.ScaleAtPrepend(Double, Double, Double, Double) Metod

Definition

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.

Gäller för