Matrix.ScalePrepend(Double, Double) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
在此 Matrix 结构前面添加指定的缩放向量。
public:
void ScalePrepend(double scaleX, double scaleY);
public void ScalePrepend (double scaleX, double scaleY);
member this.ScalePrepend : double * double -> unit
Public Sub ScalePrepend (scaleX As Double, scaleY As Double)
参数
示例
以下示例演示如何在 结构前面添加比例 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;
}
注解
在复合转换中,单个转换的顺序非常重要。 例如,“先旋转再缩放后平移”与“先平移再旋转后缩放”得到的结果并不一样。 顺序之所以重要,原因之一就是像旋转和缩放这样的转换是相对于坐标系原点进行的。 缩放以原点为中心的对象产生的结果不同于缩放远离原点的对象所产生的结果。 同样,旋转以原点为中心的对象产生的结果不同于旋转远离原点的对象所产生的结果。