This documentation is for the old version. Go to the latest Graphics Mill docs

ApplyMatrixTransform Class

This class enables you to apply an arbitrary convex linear transformation on the bitmap (such as perspective distortion, rotation, skew, etc).

Namespace: Aurigma.GraphicsMill.Transforms
Assembly: Aurigma.GraphicsMill (in Aurigma.GraphicsMill.dll)

Syntax

Visual Basic
Public NotInheritable Class ApplyMatrixTransform _
	Inherits BitmapTransform
C#
public sealed class ApplyMatrixTransform : BitmapTransform

Remarks

To apply a transfomation, you should build a matrix of the linear transformation (see Matrix class for more details). This matrix allows to specify both affine and projective transformation. The only limitation - the matrix should not be singular (i.e. transformation must be convex). Put this matrix to the Transform property.

In fact, such transforms as Resize and Rotate are special cases of the linear transformations. You can emulate these transforms by providing scaling/rotating matrix to this transform. However Resize and Rotate are optimized and we recommend to use it when you need only to resize or rotate.

As for all other geometry transforms you can specify also the InterpolationMode (which affects on the algorithm speed and output quality) and BackgroundColor.

Inheritance Hierarchy

Thread Safety

Static members of this type are safe for multi-threaded operations. Instance members of this type are safe for multi-threaded operations.

Object Model




Supported Pixel Formats

Member NameDescription
Format8bppIndexed8 bits per pixel. Indexed.
Format8bppGrayScale8 bits per pixel. Grayscale. 8 bits are used for luminosity level.
Format16bppGrayScale16 bits per pixel. Grayscale. All 16 bits are used for luminosity level (extended pixel format).
Format16bppAGrayScale16 bits per pixel. Grayscale with alpha channel. 8 bits are used for alpha channel and other 8 bits are used for luminosity level.
Format32bppAGrayScale32 bits per pixel. Grayscale with alpha channel. 16 bits are used for alpha channel and other 16 bits are used for luminosity level (extended pixel format).
Format16bppRgb56516 bits per pixel. RGB. 5 bits each are used for the red, and blue components. 6 bits are used for green component.
Format16bppRgb55516 bits per pixel. RGB. 5 bits each are used for the red, green, and blue components. The rest bit is unused.
Format16bppArgb155516 bits per pixel. RGB with alpha channel. 1 bit is used for the alpha component, and 5 bits each are used for the red, green, and blue components.
Format24bppRgb24 bits per pixel. RGB. 8 bits each are used for the red, green, and blue components.
Format32bppRgb32 bits per pixel. RGB. 8 bits each are used for the red, green, and blue components. The rest 8 bits are unused.
Format32bppArgb32 bits per pixel. RGB with alpha channel. 8 bits each are used for the alpha, red, green, and blue components.
Format48bppRgb48 bits per pixel. RGB. 16 bits each are used for the red, green, and blue components (extended pixel format).
Format64bppArgb64 bits per pixel. RGB with alpha channel. 16 bits each are used for the alpha, red, green, and blue components (extended pixel format).
Format32bppCmyk32 bits per pixel. CMYK. 8 bits each are used for the cyan, magenta, yellow, and black components.
Format64bppCmyk64 bits per pixel. CMYK. 16 bits each are used for the cyan, magenta, yellow, and black components (extended pixel format).
Format80bppAcmyk80 bits per pixel. CMYK with alpha channel. 16 bits each are used for the alpha, cyan, magenta, yellow, and black components (extended pixel format).

See Also

Reference