System.Drawing
[00 24 00 00 04 80 00 00 94 00 00 00 06 02 00 00 00 24 00 00 52 53 41 31 00 04 00 00 01 00 01 00 07 D1 FA 57 C4 AE D9 F0 A3 2E 84 AA 0F AE FD 0D E9 E8 FD 6A EC 8F 87 FB 03 76 6C 83 4C 99 92 1E B2 3B E7 9A D9 D5 DC C1 DD 9A D2 36 13 21 02 90 0B 72 3C F9 80 95 7F C4 E1 77 10 8F C6 07 77 4F 29 E8 32 0E 92 EA 05 EC E4 E8 21 C0 A5 EF E8 F1 64 5C 4C 0C 93 C1 AB 99 28 5D 62 2C AA 65 2C 1D FA D6 3D 74 5D 6F 2D E5 F1 7E 5E AF 0F C4 96 3D 26 1C 8A 12 43 65 18 20 6D C0 93 34 4D 5A D2 93]
1.0.3300.0
1.0.5000.0
2.0.0.0
Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.
System.MarshalByRefObject
System.IDisposable
In ndptecgdiplus you can store an affine transformation in a object. Because the third column of a matrix that represents an affine transformation is always (0, 0, 1), you specify only the six numbers in the first two columns when you construct a object. The statement Matrix myMatrix = new Matrix(0, 1, -1, 0, 3, 4) constructs the matrix shown in the following figure.
Composite Transformations
A composite transformation is a sequence of transformations, one followed by the other. Consider the matrices and transformations in the following list:
-
Matrix A
Rotate 90 degrees
-
Matrix B
Scale by a factor of 2 in the x direction
-
Matrix C
Translate 3 units in the y direction
If we start with the point (2, 1) — represented by the matrix [2 1 1] — and multiply by A, then B, then C, the point (2, 1) will undergo the three transformations in the order listed.
[2 1 1]ABC = [-2 5 1]
Rather than store the three parts of the composite transformation in three separate matrices, you can multiply A, B, and C together to get a single 3×3 matrix that stores the entire composite transformation. Suppose ABC = D. Then a point multiplied by D gives the same result as a point multiplied by A, then B, then C.
[2 1 1]D = [-2 5 1]
The following illustration shows the matrices A, B, C, and D.
The fact that the matrix of a composite transformation can be formed by multiplying the individual transformation matrices means that any sequence of affine transformations can be stored in a single object.
The order of a composite transformation is important. In general, rotate, then scale, then translate is not the same as scale, then rotate, then translate. Similarly, the order of matrix multiplication is important. In general, ABC is not the same as BAC.
The class provides several methods for building a composite transformation: , , , , , and . The following example creates the matrix of a composite transformation that first rotates 30 degrees, then scales by a factor of 2 in the y direction, and then translates 5 units in the x direction:
code reference: System.Drawing.CoordinateSystems#11
Encapsulates a 3-by-3 affine matrix that represents a geometric transform. This class cannot be inherited.
Constructor
To be added
Initializes a new instance of the class as the identity matrix.
1.0.5000.0
2.0.0.0
Constructor
This method initializes the new Matrix such that it represents the geometric transform that maps the rectangle specified by the parameter to the parallelogram defined by the three points in the parameter. The upper-left corner of the rectangle is mapped to the first point in the array, the upper-right corner is mapped to the second point, and the lower-left corner is mapped to the third point. The lower-right point of the parallelogram is implied by the first three.
Initializes a new instance of the class to the geometric transform defined by the specified rectangle and array of points.
A structure that represents the rectangle to be transformed.
An array of three structures that represents the points of a parallelogram to which the upper-left, upper-right, and lower-left corners of the rectangle is to be transformed. The lower-right corner of the parallelogram is implied by the first three corners.
1.0.5000.0
2.0.0.0
Constructor
This method initializes the new such that it represents the geometric transform that maps the rectangle specified by the parameter to the parallelogram defined by the three points in the parameter. The upper-left corner of the rectangle is mapped to the first point in the array, the upper-right corner is mapped to the second point, and the lower-left corner is mapped to the third point. The lower-right point of the parallelogram is implied by the first three.
Initializes a new instance of the class to the geometric transform defined by the specified rectangle and array of points.
A structure that represents the rectangle to be transformed.
An array of three structures that represents the points of a parallelogram to which the upper-left, upper-right, and lower-left corners of the rectangle is to be transformed. The lower-right corner of the parallelogram is implied by the first three corners.
1.0.5000.0
2.0.0.0
Constructor
To be added
Initializes a new instance of the class with the specified elements.
The value in the first row and first column of the new .
The value in the first row and second column of the new .
The value in the second row and first column of the new .
The value in the second row and second column of the new .
The value in the third row and first column of the new .
The value in the third row and second column of the new .
1.0.5000.0
2.0.0.0
Method
System.Drawing.Drawing2D.Matrix
To be added
Creates an exact copy of this .
The that this method creates.
1.0.5000.0
2.0.0.0
Method
System.Void
Calling Dispose allows the resources used by this object to be reallocated for other purposes.
Releases all resources used by this .
This method does not return a value.
1.0.5000.0
2.0.0.0
Property
System.Single[]
To be added: an object of type 'float []'
The elements m11, m12, m21, m22, dx, and dy of the are represented by the values in the array in that order.
Gets an array of floating-point values that represents the elements of this .
1.0.5000.0
2.0.0.0
Method
System.Boolean
To be added
Tests whether the specified object is a and is identical to this .
This method returns true if is the specified identical to this ; otherwise, false.
The object to test.
1.0.5000.0
2.0.0.0
Method
System.Void
To be added
To be added
1.0.5000.0
2.0.0.0
Method
System.Int32
To be added
Returns a hash code.
The hash code for this .
1.0.5000.0
2.0.0.0
Method
System.Void
To be added
Inverts this , if it is invertible.
1.0.5000.0
2.0.0.0
Property
System.Boolean
To be added: an object of type 'bool'
To be added
Gets a value indicating whether this is the identity matrix.
1.0.5000.0
2.0.0.0
Property
System.Boolean
To be added: an object of type 'bool'
To be added
Gets a value indicating whether this is invertible.
1.0.5000.0
2.0.0.0
Method
System.Void
To be added
Multiplies this by the matrix specified in the parameter, by prepending the specified .
The by which this is to be multiplied.
1.0.5000.0
2.0.0.0
Method
System.Void
If the specified order is , this is multiplied by the specified matrix in a prepended order. If the specified order is , this is multiplied by the specified matrix in an appended order.
Multiplies this by the matrix specified in the parameter, and in the order specified in the parameter.
The by which this is to be multiplied.
The that represents the order of the multiplication.
1.0.5000.0
2.0.0.0
Property
System.Single
To be added: an object of type 'float'
To be added
Gets the x translation value (the dx value, or the element in the third row and first column) of this .
1.0.5000.0
2.0.0.0
Property
System.Single
To be added: an object of type 'float'
To be added
Gets the y translation value (the dy value, or the element in the third row and second column) of this .
1.0.5000.0
2.0.0.0
Method
System.Void
The elements on the main diagonal of the identity matrix are 1. All other elements of the identity matrix are 0.
Resets this to have the elements of the identity matrix.
1.0.5000.0
2.0.0.0
Method
System.Void
To be added
Prepend to this a clockwise rotation, around the origin and by the specified angle.
The angle of the rotation, in degrees.
1.0.5000.0
2.0.0.0
Method
System.Void
To be added
Applies a clockwise rotation of an amount specified in the parameter, around the origin (zero x and y coordinates) for this .
The angle (extent) of the rotation, in degrees.
A that specifies the order (append or prepend) in which the rotation is applied to this .
1.0.5000.0
2.0.0.0
Method
System.Void
To be added
Applies a clockwise rotation to this around the point specified in the parameter, and by prepending the rotation.
The angle (extent) of the rotation, in degrees.
A that represents the center of the rotation.
1.0.5000.0
2.0.0.0
Method
System.Void
To be added
Applies a clockwise rotation about the specified point to this in the specified order.
The angle of the rotation, in degrees.
A that represents the center of the rotation.
A that specifies the order (append or prepend) in which the rotation is applied.
1.0.5000.0
2.0.0.0
Method
System.Void
To be added
Applies the specified scale vector to this by prepending the scale vector.
The value by which to scale this in the x-axis direction.
The value by which to scale this in the y-axis direction.
1.0.5000.0
2.0.0.0
Method
System.Void
To be added
Applies the specified scale vector ( and ) to this using the specified order.
The value by which to scale this in the x-axis direction.
The value by which to scale this in the y-axis direction.
A that specifies the order (append or prepend) in which the scale vector is applied to this .
1.0.5000.0
2.0.0.0
Method
System.Void
The transformation applied in this method is a pure shear only if one of the parameters is 0. Applied to a rectangle at the origin, when the factor is 0, the transformation moves the bottom edge horizontally by times the height of the rectangle. When the factor is 0, it moves the right edge vertically by times the width of the rectangle. Caution is in order when both parameters are nonzero, because the results are hard to predict. For example, if both factors are 1, the transformation is singular (hence noninvertible), squeezing the entire plane to a single line.
Applies the specified shear vector to this by prepending the shear transformation.
The horizontal shear factor.
The vertical shear factor.
1.0.5000.0
2.0.0.0
Method
System.Void
The transformation applied in this method is a pure shear only if one of the parameters is 0. Applied to a rectangle at the origin, when the factor is 0, the transformation moves the bottom edge horizontally by times the height of the rectangle. When the factor is 0, it moves the right edge vertically by times the width of the rectangle. Caution is in order when both parameters are nonzero, because the results are hard to predict. For example, if both factors are 1, the transformation is singular (hence noninvertible), squeezing the entire plane to a single line.
Applies the specified shear vector to this in the specified order.
The horizontal shear factor.
The vertical shear factor.
A that specifies the order (append or prepend) in which the shear is applied.
1.0.5000.0
2.0.0.0
Method
System.Void
To be added
Applies the geometric transform represented by this to a specified array of points.
An array of structures that represents the points to transform.
1.0.5000.0
2.0.0.0
Method
System.Void
To be added
Applies the geometric transform represented by this to a specified array of points.
An array of structures that represents the points to transform.
1.0.5000.0
2.0.0.0
Method
System.Void
To be added
Applies only the scale and rotate components of this to the specified array of points.
An array of structures that represents the points to transform.
1.0.5000.0
2.0.0.0
Method
System.Void
To be added
Multiplies each vector in an array by the matrix. The translation elements of this matrix (third row) are ignored.
An array of structures that represents the points to transform.
1.0.5000.0
2.0.0.0
Method
System.Void
To be added
Applies the specified translation vector ( and ) to this by prepending the translation vector.
The x value by which to translate this .
The y value by which to translate this .
1.0.5000.0
2.0.0.0
Method
System.Void
To be added
Applies the specified translation vector to this in the specified order.
The x value by which to translate this .
The y value by which to translate this .
A that specifies the order (append or prepend) in which the translation is applied to this .
1.0.5000.0
2.0.0.0
Method
System.Void
To be added
Multiplies each vector in an array by the matrix. The translation elements of this matrix (third row) are ignored.
An array of structures that represents the points to transform.
1.0.5000.0
2.0.0.0