包含有关矢量图形输出使用的转换的信息。
typedef结构{SOTRANSFORMtagvi
WORD wTransformFlags; // 见下文
SOPOINT Origin; // 见下文
INT xOffset; // 见下文
INT yOffset; // 见下文
SORATIO xScale; // 见下文
SORATIO yScale; // 见下文
SORATIO xSkew; // 见下文
SORATIO ySkew; // 见下文
SOANGLE RotationAngle; // 见下文
} SOTRANSFORM, VWPTR *PSOTRANSFORM;
会员
wTransformFlags
转型类型这个成员可以是这些值的组合:
SOTF_NOTRANSFORM | SOTF_XSKEW |
SOTF_ROTATE | SOTF_YOFFSET |
SOTF_XOFFSET | SOTF_YSCALE |
SOTF_XSCALE | SOTF_YSKEW |
TSOTF_ROTATE可以仅与SOTF_XOFFSET和SOTF_YOFFSET组合。此外,没有其他值可能与SOTF_NOTRANSFORM组合。
起源
除SOTF_XOFFSET和SOTF_YOFFSET之外的所有转换的起点。
X偏移和Y偏移
用于SOTF_XOFFSET和OTF_YOFFSET转换的偏移值。此值的x和y成员将添加到转换对象中所有点的x坐标和y坐标。
xScale等
用于SOTF_XSCALE转换的比率。该比率用于从给定原点缩放x轴上的图像。要设置此成员,请使用SOSETRATIO宏。
Ratio to use for SOTF_YSCALE transformations.
用于SOTF_YSCALE转换的比率。该比率用于在给定原点的y轴上缩放图像。要设置此成员,请使用SOSETRATIO宏。
LGK
用于SOTF_XSKEW变换的比率。该比例用于从给定原点水平偏移图像。要设置此成员,请使用SOSETRATIO宏。
ySkewel-Latn
用于SOTF_YSKEW转换的比率。该比率用于垂直偏离给定原点的图像。要设置此成员,请使用SOSETRATIO宏。
RotationAngle
角度,十分之一度,用于SOTF_ROTATE转换。所有点都围绕给定原点旋转了许多程度。必须使用SOANGLETENTHS宏设置此值。不应直接设置SOANGLE变量。将根据需要提供其他宏。
转换方程如下。
x' = Origin.x + (xScale * (x-Origin.x)) + (xSkew*(y-Origin.y)) + xOffset
y' = Origin.y + (yScale * (y-Origin.y)) + (ySkew*(x-Origin.x)) + yOffset