The ANNXFORM structure is used to store a matrix that represents a combination of translates, rotates, shears, and scales.
See comments.
See comments.
See comments.
See comments.
Horizontal translation
Vertical translation
The ANNXFORM structure is used to store an arbitrary combination of translations, rotations, scales, and shears.
It is used with the WM_LTANNEVENT message when wParam is LTANNEVENT_AUTOITEMCHANGING and the type of change is ANNTYPE_RESIZE_ROTATE. In this case, one of the fields of the ANNCHANGEPARAM structure is a pANNXORM, which indicates the changes that is about to take place, or already has taken place.
The fields tx and ty are used for horizontal and vertical translation. The fields tx, ty, r11, r12, r21, and r22 are used as follows:
Matrix:
┌─ ─┐
│ r11 r12 0 │
│ r21 r22 0 │
│ tx ty 0 │
└─ ─┘
Translation:
┌─ ─┐
│ 1 0 0 │
│ 0 1 0 │
│ tx ty 1 │
└─ ─┘
Rotation: (a is angle of rotation)
┌─ ─┐
│ cos(a) sin(a) 0 │
│ -sin(a) cos(a) 0 │
│ 0 0 1 │
└─ ─┘
Scale: Sx is horizontal scaling, Sy is vertical scaling
┌─ ─┐
│ Sx 0 0 │
│ 0 Sy 0 │
│ 0 0 1 │
└─ ─┘
Operations are combined by multiplying the corresponding matrices.
For more information, see the documentation for the similar structure RGNXFORM, or the Microsoft MSDN documentation for the similar structure XFORM.
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document