System.Drawing.Drawing2D.Matrix
Encapsulates a 3-by-3 affine matrix that represents a geometric transform. This class cannot be inherited.
namespace System.Drawing.Drawing2D
{
public sealed class Matrix : MarshalByRefObject, IDisposable
{
public float[] Elements { get; }
public Matrix3x2 MatrixElements { get; set; }
public float OffsetX { get; }
public float OffsetY { get; }
public bool IsInvertible { get; }
public bool IsIdentity { get; }
public Matrix();
public Matrix(float m11, float m12, float m21, float m22, float dx, float dy);
public Matrix(Matrix3x2 matrix);
public Matrix(RectangleF rect, params PointF[] plgpts);
public Matrix(Rectangle rect, params Point[] plgpts);
public void Dispose();
public Matrix Clone();
public void Reset();
public void Multiply(Matrix matrix);
public void Multiply(Matrix matrix, MatrixOrder order);
public void Translate(float offsetX, float offsetY);
public void Translate(float offsetX, float offsetY, MatrixOrder order);
public void Scale(float scaleX, float scaleY);
public void Scale(float scaleX, float scaleY, MatrixOrder order);
public void Rotate(float angle);
public void Rotate(float angle, MatrixOrder order);
public void RotateAt(float angle, PointF point);
public void RotateAt(float angle, PointF point, MatrixOrder order);
public void Shear(float shearX, float shearY);
public void Shear(float shearX, float shearY, MatrixOrder order);
public void Invert();
public void TransformPoints(params PointF[] pts);
public void TransformPoints(ReadOnlySpan<PointF> pts);
public void TransformPoints(params Point[] pts);
public void TransformPoints(ReadOnlySpan<Point> pts);
public void TransformVectors(params PointF[] pts);
public void TransformVectors(ReadOnlySpan<PointF> pts);
public void VectorTransformPoints(params Point[] pts);
public void VectorTransformPoints(ReadOnlySpan<Point> pts);
public void TransformVectors(params Point[] pts);
public void TransformVectors(ReadOnlySpan<Point> pts);
}
}