IInkTransform
4/8/2010
Represents a 3 × 3 matrix that, in turn, represents an affine transformation.
The object stores only six of the nine numbers in a 3 × 3 matrix because all 3 × 3 matrices that represent affine transformations have the same third column (0, 0, 1). This object in turn is used to describe transformation operations such as moving, shearing, scaling, or rotating in an IInkRenderer object, IInkStrokeDisp object, or IInkStrokes collection.
The IInkTransform object correlates to the XFORM structure. The XFORM structure has the following form:
typedef struct tagXFORM {
FLOAT eM11;
FLOAT eM12;
FLOAT eM21;
FLOAT eM22;
FLOAT eDx;
FLOAT eDy;
} XFORM;
The XFORM structure specifies a world–space to page–space transformation. The eDx and eDy members specify the horizontal and vertical translation components, respectively. The following table shows how the other members are used, depending on the operation:
Operation | eM11 | eM12 | eM21 | eM22 |
---|---|---|---|---|
Rotation |
Cosine of rotation angle |
Sine of rotation angle |
Negative sine of rotation angle |
Cosine of rotation angle |
Scaling |
Horizontal scaling component |
Nothing |
Nothing |
Vertical scaling component |
Shear |
Nothing |
Horizontal proportionality constant |
Vertical proportionality constant |
Nothing |
Reflection |
Horizontal reflection component |
Nothing |
Nothing |
Vertical |
In This Section
- IInkTransform Methods
Describes the methods for the IInkTransform object
- IInkTransform Properties
Describes how to access or set the each value in the matrix.