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;
}
Комментарии
В составном преобразовании важен порядок отдельных преобразований. Например, если сначала повернуть, затем масштабировать, а затем перевести, вы получите другой результат, чем при первом переводе, а затем повороте, а затем масштабирование. Одной из причин является то, что преобразования, такие как поворот и масштабирование, выполняются в отношении начала системы координат. Масштабирование объекта, расположенного по центру в источнике, дает результат, отличный от масштабирования объекта, который был перемещен от источника. Аналогичным образом поворот объекта, центрированного по центру источника, создает другой результат, чем поворот объекта, который был перемещен от источника.