Matrix.ScaleAtPrepend(Double, Double, Double, Double) Метод

Определение

Добавляет заданное масштабирование относительно заданной точки в начало данной структуры 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)

Параметры

scaleX
Double

Коэффициент масштабирования по оси X.

scaleY
Double

Коэффициент масштабирования по оси Y.

centerX
Double

Координату х точки, от которой выполняется масштабирование.

centerY
Double

Координату y точки, от которой выполняется масштабирование.

Примеры

В следующем примере показано, как добавить масштаб в .a 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;
}

Комментарии

В составном преобразовании важен порядок отдельных преобразований. Например, если сначала повернуть, затем масштабировать, а затем перевести, вы получите другой результат, чем при первом переводе, а затем повороте, а затем масштабирование. Одной из причин является то, что преобразования, такие как поворот и масштабирование, выполняются в отношении начала системы координат. Масштабирование объекта, расположенного по центру в источнике, дает результат, отличный от масштабирования объекта, который был перемещен от источника. Аналогичным образом поворот объекта, центрированного по центру источника, создает другой результат, чем поворот объекта, который был перемещен от источника.

Применяется к