Scaling
Most CAD and drawing applications provide features that scale output created
by the user. If your application features scaling (or zoom) capabilities, use
the
SetWorldTransform function to set the appropriate world-space to page-space transformation.
This function receives a pointer to an
XFORM structure containing the appropriate values. The
eM11 and
eM22 members of
XFORM specify the horizontal and vertical scaling components, respectively.
When
scaling occurs, the vertical and horizontal lines (or vectors), that constitute an
object, are stretched or compressed with respect to the x- or y-axis. The
following illustration shows a 20- by 20-unit rectangle scaled vertically to twice its
original height when copied from world coordinate space to page coordinate
space.
In the preceding illustration, the vertical lines that define the original
rectangle's side measure 20 units, while the vertical lines that define the scaled
rectangle's sides measure 40 units.
Vertical scaling can be represented by the following algorithm.
y' = y * Dy
Where
y' is the new length,
y is the original length, and
Dy is the vertical scaling factor.
Horizontal scaling can be represented by the following algorithm.
x' = x * Dx
Where
x' is the new length,
x is the original length, and
Dx is the horizontal scaling factor.
The vertical and horizontal scaling transformations can be combined into a
single operation by using a 2-by-2 matrix.
|x' y'| = |Dx 0| * |x y|
|0 Dy|
The 2-by-2 matrix that produced the scaling transformation contains the
following values.
|1 0|
|0 2|
- Software for developers
-
Delphi Components
.Net Components
Software for Android Developers
- More information resources
-
MegaDetailed.Net
Unix Manual Pages
Delphi Examples
- Databases for Amazon shops developers
-
Amazon Categories Database
Browse Nodes Database