剪切

某些应用程序提供剪切工作区中绘制的对象的功能。 使用剪切功能的应用程序使用 SetWorldTransform 函数在 world-space 到 page-space 转换中设置适当的值。 此函数接收指向包含相应值的 XFORM 结构的指针。 XFORM 的 eM12 和 eM21 成员分别指定水平和垂直相称常量。

剪切变换有两个组成部分。 第一个更改 对象中的垂直线;第二个更改水平线。 下图显示了从世界空间复制到页面空间时水平剪切的 20 乘以 20 单位的矩形。

显示世界空间中的矩形和页面空间中的陷阱的插图

水平切变可通过以下算法表示:

x' = x + (Sx * y) 

其中 x 是原始 x 坐标,Sx 是比例常量,x' 是剪切变换的结果。

垂直切变可以通过以下算法表示:

y' = y + (Sy * x) 

其中 y 是原始 y 坐标,Sy 是比例常量,y' 是剪切变换的结果。

水平切变和垂直切变可以使用 2 乘以矩阵组合成单个运算。

|x' y'| == |x y| * |  1   Sx| 
                   | Sy    1| 

产生切变的 2 乘 2 矩阵包含以下值:

|1    1| 
|0    1|