Opait PDF Library
|
Represents a double precision 3x3 affine transformation matrix. An affine matrix can be represented by 6 numbers in the first two columns. [A, C, 0]
[B, D, 0] [E, F, 1]
More...
Public Member Functions | |
PdfMatrix (double a=1, double b=0, double c=0, double d=1, double e=0, double f=0) | |
Initializes a new instance of the PdfMatrix class with the specified elements. More... | |
PdfMatrix (PdfMatrix m) | |
Initializes a new instance of the PdfMatrix class from another specified PdfMatrix. More... | |
PdfMatrix (IReadOnlyList< double > e) | |
Initializes a new instance using an array of elements More... | |
PdfMatrix (string matrix) | |
Initializes a new instance using a serialized, and space separated, string. Compatible with the output from the ToString() metheod. More... | |
PdfMatrix | Scale (double sx, double sy) |
Applies the specified scale vector to this PdfMatrix by prepending the scale vector. More... | |
PdfMatrix | Translate (double tx, double ty) |
Applies the specified translation vector to this PdfMatrix by prepending the translation vector. More... | |
PdfMatrix | Rotate (double angle) |
Prepends to this PdfMatrix a clockwise rotation, around the origin and by the specified angle. More... | |
PdfMatrix | Shear (double x, double y) |
Applies the specified shear vector to this PdfMatrix by prepending the shear vector. More... | |
PdfMatrix | Invert () |
Inverts this PdfMatrix. PdfMatrix must be invertible. More... | |
double[] | ToArray () |
Converts the matrix to an array of 6 double precision numbers. More... | |
float[] | ToPixAffine () |
Converts the matrix to array of 6 floats in the order that is expected by Leptonica affine transforms. More... | |
PdfPoint | Transform (PdfPoint point) |
Transform a point using this PdfMatrix. More... | |
PdfRectangle | Transform (PdfRectangle rect) |
Transform a rectangle using this PdfMatrix. More... | |
PdfMatrix | Concatenate (PdfMatrix x) |
Concatenates this PdfMatrix by the specified matrix, by prepending the specified PdfMatrix. More... | |
override string | ToString () |
Converts this PdfMatrix to a human-readable string. More... | |
bool | Equals (PdfMatrix other) |
Specifies whether this PdfMatrix contains the same values as the specified PdfMatrix. More... | |
override bool | Equals (object obj) |
Specifies whether this PdfMatrix contains the same values as the specified Object. More... | |
override int | GetHashCode () |
Returns the hash code for this PdfMatrix. More... | |
Static Public Member Functions | |
static PdfMatrix | RotationMatrix (double angle) |
Creates a PdfMatrix to represent a rotation by the specified angle. More... | |
static PdfMatrix | RotationAtMatrix (double translateX, double translateY, double angle) |
Creates a PdfMatrix to represent a translation followed by rotation by the specified values. More... | |
static PdfMatrix | ScalingMatrix (double sx, double sy) |
Creates a PdfMatrix to represent scaling by the specified amounts. More... | |
static PdfMatrix | TranslationMatrix (double tx, double ty) |
Creates a PdfMatrix to represent translation by the specified amounts. More... | |
static PdfMatrix | ShearMatrix (double x, double y) |
Creates a PdfMatrix to represent shearing by the specified amounts. More... | |
static PdfMatrix | RotateFlipMatrix (int[] args, double width, double height) |
Creates a PDF matrix from parameters of a rotate/flip operation. More... | |
static PdfMatrix | FlipMatrix (bool horizontal, bool vertical) |
Creates a PdfMatrix to represent flipping horizontally, vertically or both. More... | |
static PdfMatrix | Create (double scaleX, double scaleY, double translateX, double translateY, double angle) |
Creates a PdfMatrix with the specified attributes. More... | |
static PdfMatrix | Multiply (PdfMatrix x, PdfMatrix y) |
Compute a new transformation matrix by multiplying two existing matrices. More... | |
Static Public Attributes | |
static readonly PdfMatrix | IdentityMatrix = new PdfMatrix() |
A PdfMatrix that represents the identity matrix. | |
Properties | |
bool | IsIdentity [get] |
Gets a value indicating whether this PdfMatrix is the identity matrix. | |
double | OffsetX [get] |
Gets the x translation value of this PdfMatrix. | |
double | OffsetY [get] |
Gets the y translation value of this PdfMatrix. | |
double | ScaleX [get] |
Gets the horizontal scaling factor of this PdfMatrix. | |
double | ScaleY [get] |
Gets the vertical scaling factor of this PdfMatrix. | |
bool | IsInvertible [get] |
Gets a value indicating whether this PdfMatrix is invertible. | |
double | Determinant [get] |
Returns the determinant of the rotation matrix. | |
PdfMatrix | Inverse [get] |
Gets the inverse of the current matrix. | |
Represents a double precision 3x3 affine transformation matrix. An affine matrix can be represented by 6 numbers in the first two columns. [A, C, 0]
[B, D, 0] [E, F, 1]
Opait.Pdf.Api.PdfMatrix.PdfMatrix | ( | double | a = 1 , |
double | b = 0 , |
||
double | c = 0 , |
||
double | d = 1 , |
||
double | e = 0 , |
||
double | f = 0 |
||
) |
Initializes a new instance of the PdfMatrix class with the specified elements.
a | The M11 element. |
b | The M21 element. |
c | The M12 element. |
d | The M22 element. |
e | The DX element. |
f | The DY element. |
Opait.Pdf.Api.PdfMatrix.PdfMatrix | ( | PdfMatrix | m | ) |
Opait.Pdf.Api.PdfMatrix.PdfMatrix | ( | IReadOnlyList< double > | e | ) |
Initializes a new instance using an array of elements
e | An array of 4 or 6 elements. |
Opait.Pdf.Api.PdfMatrix.PdfMatrix | ( | string | matrix | ) |
Initializes a new instance using a serialized, and space separated, string. Compatible with the output from the ToString() metheod.
matrix | The serialized version of the matrix. |
|
static |
Creates a PdfMatrix with the specified attributes.
scaleX | The horizontal scale factor. |
scaleY | The vertical scale factor. |
translateX | The horizontal displacement. |
translateY | The vertical displacement. |
angle | The angle of rotation. |
override bool Opait.Pdf.Api.PdfMatrix.Equals | ( | object | obj | ) |
bool Opait.Pdf.Api.PdfMatrix.Equals | ( | PdfMatrix | other | ) |
|
static |
Creates a PdfMatrix to represent flipping horizontally, vertically or both.
horizontal | Whether to flip horizontally about the vertical axis. |
vertical | Whether to flip vertically about the horizontal axis. |
override int Opait.Pdf.Api.PdfMatrix.GetHashCode | ( | ) |
PdfMatrix Opait.Pdf.Api.PdfMatrix.Invert | ( | ) |
Compute a new transformation matrix by multiplying two existing matrices.
x | First matrix. |
y | Second matrix. |
PdfMatrix Opait.Pdf.Api.PdfMatrix.Rotate | ( | double | angle | ) |
Prepends to this PdfMatrix a clockwise rotation, around the origin and by the specified angle.
angle | Rotation angle. |
|
static |
Creates a PDF matrix from parameters of a rotate/flip operation.
args | The 4 arguments of rotate/flip. |
width | The width of the page to transform. |
height | The height of the page to transform. |
|
static |
|
static |
PdfMatrix Opait.Pdf.Api.PdfMatrix.Scale | ( | double | sx, |
double | sy | ||
) |
Applies the specified scale vector to this PdfMatrix by prepending the scale vector.
sx | Horizontal scaling. |
sy | Vertical scaling. |
|
static |
Creates a PdfMatrix to represent scaling by the specified amounts.
sx | The horizontal scaling. |
sy | The vertical scaling. |
PdfMatrix Opait.Pdf.Api.PdfMatrix.Shear | ( | double | x, |
double | y | ||
) |
Applies the specified shear vector to this PdfMatrix by prepending the shear vector.
x | The horizontal shear. |
y | The vertical shear. |
|
static |
double[] Opait.Pdf.Api.PdfMatrix.ToArray | ( | ) |
Converts the matrix to an array of 6 double precision numbers.
float[] Opait.Pdf.Api.PdfMatrix.ToPixAffine | ( | ) |
Converts the matrix to array of 6 floats in the order that is expected by Leptonica affine transforms.
override string Opait.Pdf.Api.PdfMatrix.ToString | ( | ) |
Converts this PdfMatrix to a human-readable string.
Transform a point using this PdfMatrix.
point | The point to transform. |
PdfRectangle Opait.Pdf.Api.PdfMatrix.Transform | ( | PdfRectangle | rect | ) |
Transform a rectangle using this PdfMatrix.
rect | The rectangle to transform. |
PdfMatrix Opait.Pdf.Api.PdfMatrix.Translate | ( | double | tx, |
double | ty | ||
) |
Applies the specified translation vector to this PdfMatrix by prepending the translation vector.
tx | Horizontal displacement. |
ty | Vertical displacement. |