- Aurigma Graphics Mill 5.5 for .NET
- Introduction
- What's New?
- Overview of Features
- Getting Started
- Programming with Graphics Mill for .NET
- File Formats
- Graphics Mill for .NET Add-ons
- Class Library Reference
- Aurigma.GraphicsMill Namespace
- AbortedException Class
- AdvancedPsdLibraryModule Class
- AviProcessorLibraryModule Class
- Bitmap Class
- BitmapChange Enumeration
- BitmapChangedEventArgs Class
- BitmapChangedEventHandler Delegate
- BitmapChangingEventArgs Class
- BitmapChangingEventHandler Delegate
- BitmapData Class
- BitmapEmptyException Class
- BitmapLockedException Class
- BitmapSavingEventArgs Class
- BitmapSavingEventHandler Delegate
- BitmapStatisticsProvider Class
- ChannelsProvider Class
- CMAdobeModuleLoadException Class
- CMException Class
- CMInappropriateProfileException Class
- CMOpenProfileException Class
- CMTransformException Class
- CmykColor Class
- Color Class
- ColorAdjustmentProvider Class
- ColorChannel Enumeration
- ColorManagementProvider Class
- ColorPalette Class
- ColorPaletteEmptyException Class
- ColorPaletteType Enumeration
- ColorProfile Class
- ColorProfileClass Enumeration
- ColorSpace Enumeration
- ErrorEventArgs Class
- Exception Class
- GlobalSettings Class
- GraphicsMillLibraryModule Class
- GrayScaleColor Class
- Histogram Class
- HistogramMode Enumeration
- ILockable Interface
- IPixelFormatSupport Interface
- IStateNavigable Interface
- ISyncEvents Interface
- ISyncHandler Interface
- IUnitConverter Interface
- LibraryModuleAbstract Class
- LockableObject Class
- MediaProcessorLibraryModule Class
- MessageLoopNotPresentedException Class
- ObjectEmptyException Class
- ObjectLockedException Class
- ObjectNotOpenedException Class
- OperationNotCompletedException Class
- PixelFormat Enumeration
- PixelFormatUtils Class
- ProgressEventArgs Class
- ProgressEventHandler Delegate
- Rational Structure
- RgbColor Class
- StateRestoringEventArgs Class
- StateRestoringEventHandler Delegate
- StopEventHandler Delegate
- StreamWrapper Class
- SyncHandler Class
- SynchronizationMode Enumeration
- TimeoutException Class
- TransformsProvider Class
- TransformsProvider Members
- TransformsProvider Methods
- {dtor} Method
- AddNoise Method
- ApplyMatrixTransform Method
- Blur Method
- Buttonize Method
- Crop Method
- Cylindrize Method
- Dispose Method
- EdgeDetect Method
- Emboss Method
- Glow Method
- MaximumFilter Method
- MedianFilter Method
- MinimumFilter Method
- Mosaic Method
- PageCurl Method
- Resize Method
- Rotate Method
- RotateAndFlip Method
- Shadow Method
- Sharpen Method
- Spray Method
- Swirl Method
- Texturize Method
- UnsharpMask Method
- Waddle Method
- WaterDrop Method
- Wave Method
- TransformsProvider Properties
- TrialPeriodTimeException Class
- UnexpectedException Class
- Unit Enumeration
- UnitConverter Class
- UnitConverterHandler Class
- UnitConverterObject Class
- UnsignedRational Structure
- UnsupportedPixelFormatException Class
- Win32Exception Class
- ZipCompressor Class
- Aurigma.GraphicsMill.AjaxControls Namespace
- Aurigma.GraphicsMill.AjaxControls.VectorObjects Namespace
- Aurigma.GraphicsMill.AjaxControls.VectorObjects.Math Namespace
- Aurigma.GraphicsMill.AjaxControls.VectorObjects.RedoUndo Namespace
- Aurigma.GraphicsMill.Codecs Namespace
- Aurigma.GraphicsMill.Drawing Namespace
- Aurigma.GraphicsMill.Licensing Namespace
- Aurigma.GraphicsMill.Transforms Namespace
- Aurigma.GraphicsMill.WebControls Namespace
- Aurigma.GraphicsMill.WinControls Namespace
- GraphicsMill Namespace (Client Class Library)
- Aurigma.GraphicsMill.AjaxControls Namespace (Client Class Library)
- Aurigma.GraphicsMill.AjaxControls.VectorObjects Namespace (Client Class Library)
- Aurigma.GraphicsMill.AjaxControls.VectorObjects.Math Namespace (Client Class Library)
- Aurigma.GraphicsMill.AjaxControls.VectorObjects.RedoUndo Namespace (Client Class Library)
- Aurigma.GraphicsMill Namespace
- Samples
- Licensing
- Copyright Notices
This documentation is for the old version. Go to the latest Graphics Mill docs
TransformsProvider.ApplyMatrixTransform Method (Matrix)
Applies a linear transformation of the bitmap (based on specified matrix).
Namespace:
Aurigma.GraphicsMill
Assembly:
Aurigma.GraphicsMill (in Aurigma.GraphicsMill.dll)
Syntax
Visual Basic
Public Sub ApplyMatrixTransform ( _
transform As Matrix _
)
C#
public void ApplyMatrixTransform(
Matrix transform
)
Parameters
- transform
-
Type: Aurigma.GraphicsMill.Transforms.Matrix
Matrix class instance which specifies a matrix of the linear transformation.
Remarks
You can also use ApplyMatrixTransform class to apply this effect.Examples
Here is an example how to apply skew transform using the affine matrix:
Visual Basic
Dim matrix As New Aurigma.GraphicsMill.Transforms.Matrix
'0 1 2
matrix.Elements(0) = 1.0F
matrix.Elements(1) = 0.0F
matrix.Elements(2) = 0.0F
'3 4 5
matrix.Elements(3) = 0.0F
matrix.Elements(4) = 0.3F
matrix.Elements(5) = 0.0F
'6 7 8
matrix.Elements(6) = 0.0F
matrix.Elements(7) = 0.0F
matrix.Elements(8) = 1.0F
bitmap.Transforms.ApplyMatrixTransform(matrix)
C#
Aurigma.GraphicsMill.Transforms.Matrix matrix =
new Aurigma.GraphicsMill.Transforms.Matrix();
//0 1 2
matrix.Elements[0] = 1.0F;
matrix.Elements[1] = 0.0F;
matrix.Elements[2] = 0.0F;
//3 4 5
matrix.Elements[3] = 0.0F;
matrix.Elements[4] = 0.3F;
matrix.Elements[5] = 0.0F;
//6 7 8
matrix.Elements[6] = 0.0F;
matrix.Elements[7] = 0.0F;
matrix.Elements[8] = 1.0F;
bitmap.Transforms.ApplyMatrixTransform(matrix);
Here is an example of the skew transform using points:
Visual Basic
Dim horizontalOffset As Integer = 20
Dim verticalOffset As Integer = 40
Dim sourcePoints As PointF() = New PointF() { _
New PointF(0.0F, 0.0F), _
New PointF(bitmap.Width - 1, 0.0F), _
New PointF(0.0F, bitmap.Height - 1)}
Dim destinationPoints As PointF() = New PointF() { _
New PointF(0.0F, 0.0F), _
New PointF(bitmap.Width - 1, verticalOffset), _
New PointF(horizontalOffset, bitmap.Height - 1)}
Dim matrix As Aurigma.GraphicsMill.Transforms.Matrix = _
Aurigma.GraphicsMill.Transforms.Matrix.FromAffinePoints(sourcePoints, destinationPoints)
bitmap.Transforms.ApplyMatrixTransform(matrix)
C#
int horizontalOffset = 20;
int verticalOffset = 40;
PointF[] sourcePoints = new PointF[]{
new PointF(0.0F, 0.0F),
new PointF(bitmap.Width - 1, 0.0F),
new PointF(0.0F, bitmap.Height - 1)};
PointF[] destinationPoints = new PointF[]{
new PointF(0, 0),
new PointF(bitmap.Width - 1, verticalOffset),
new PointF(horizontalOffset, bitmap.Height - 1)};
Aurigma.GraphicsMill.Transforms.Matrix matrix =
Aurigma.GraphicsMill.Transforms.Matrix.FromAffinePoints(sourcePoints, destinationPoints);
bitmap.Transforms.ApplyMatrixTransform(matrix);
Here are examples with projective matrix:
Visual Basic
Dim matrix As New Aurigma.GraphicsMill.Transforms.Matrix
'0 1 2
matrix.Elements(0) = 1.0F
matrix.Elements(1) = 0.0F
matrix.Elements(2) = 0.0F
'3 4 5
matrix.Elements(3) = 0.0F
matrix.Elements(4) = 0.9F
matrix.Elements(5) = 0.001F
'6 7 8
matrix.Elements(6) = 0.0F
matrix.Elements(7) = 0.01F
matrix.Elements(8) = 1.0F
bitmap.Transforms.ApplyMatrixTransform(matrix)
C#
Aurigma.GraphicsMill.Transforms.Matrix matrix =
new Aurigma.GraphicsMill.Transforms.Matrix();
//0 1 2
matrix.Elements[0] = 1.0F;
matrix.Elements[1] = 0.0F;
matrix.Elements[2] = 0.0F;
//3 4 5
matrix.Elements[3] = 0.0F;
matrix.Elements[4] = 0.9F;
matrix.Elements[5] = 0.001F;
//6 7 8
matrix.Elements[6] = 0.0F;
matrix.Elements[7] = 0.01F;
matrix.Elements[8] = 1.0F;
bitmap.Transforms.ApplyMatrixTransform(matrix);
Visual Basic
Dim offset As Integer = 20
Dim sourcePoints As PointF() = New PointF() { _
New PointF(0.0F, 0.0F), _
New PointF(bitmap.Width - 1, 0.0F), _
New PointF(bitmap.Width - 1, bitmap.Height - 1), _
New PointF(0.0F, bitmap.Height - 1)}
Dim destinationPoints As PointF() = New PointF() { _
New PointF(0.0F, 0.0F), _
New PointF(bitmap.Width - 1, offset), _
New PointF(bitmap.Width - 1, bitmap.Height - offset - 1), _
New PointF(0.0F, bitmap.Height - 1)}
Dim matrix As Aurigma.GraphicsMill.Transforms.Matrix = _
Aurigma.GraphicsMill.Transforms.Matrix.FromProjectivePoints(sourcePoints, destinationPoints)
bitmap.Transforms.ApplyMatrixTransform(matrix)
C#
int offset = 20;
PointF[] sourcePoints = new PointF[]{
new PointF(0.0F, 0.0F),
new PointF(bitmap.Width - 1, 0.0F),
new PointF(bitmap.Width - 1, bitmap.Height - 1),
new PointF(0.0F, bitmap.Height - 1)};
PointF[] destinationPoints = new PointF[] {
new PointF(0.0F, 0.0F),
new PointF(bitmap.Width - 1, offset),
new PointF(bitmap.Width - 1, bitmap.Height - offset - 1),
new PointF(0.0F, bitmap.Height - 1)};
Aurigma.GraphicsMill.Transforms.Matrix matrix =
Aurigma.GraphicsMill.Transforms.Matrix.FromProjectivePoints(sourcePoints, destinationPoints);
bitmap.Transforms.ApplyMatrixTransform(matrix);