Click or drag to resize

QuadrilateralWarpCommand Class

Similar to the PolygonTransform, this transform additionally lets you specify a source polygon to allow further control over the warping of the image.

Inheritance Hierarchy
SystemObject
  Atalasoft.Imaging.ImageProcessingImageCommand
    Atalasoft.Imaging.ImageProcessing.TransformsQuadrilateralWarpCommand

Namespace:  Atalasoft.Imaging.ImageProcessing.Transforms
Assembly:  Atalasoft.dotImage (in Atalasoft.dotImage.dll) Version: 11.0.0.0.0.297 (.NET 4.5.2, x86)
Syntax
[SerializableAttribute]
public class QuadrilateralWarpCommand : ImageCommand, 
	ISerializable

The QuadrilateralWarpCommand type exposes the following members.

Constructors
  NameDescription
Public methodQuadrilateralWarpCommand
Creates a new instance of QuadrilateralWarpCommand.
Protected methodQuadrilateralWarpCommand(SerializationInfo, StreamingContext)
Creates a new instance of QuadrilateralWarpCommand from serialization information
Public methodQuadrilateralWarpCommand(Point, Point, Point, Point, InterpolationMode, Color)
Creates a new instance of QuadrilateralWarpCommand specifying destination points that will yield a perspective transform.
Public methodQuadrilateralWarpCommand(Point, Point, Point, Point, Point, Point, Point, Point, InterpolationMode, Color)
Creates a new instance of QuadrilateralWarpCommand specifying sourceBottomLeft, sourceTopLeft, sourceTopRight, sourceBottomRight, destBottomLeft, destTopLeft, destTopRight, destBottomRight, and interpolation.
Top
Properties
  NameDescription
Public propertyApplyToAnyPixelFormat
Reports whether or not this command will be applied to any supplied PixelFormat image
(Inherited from ImageCommand.)
Public propertyBackgroundColor
Gets or sets the value of backgroundColor
Public propertyCanApplyToAnyPixelFormat
Returns true if the command can be applied to any PixelFormat.
(Inherited from ImageCommand.)
Public propertyDestBottomLeft
Gets or sets the bottom left point of the destination image in pixels.
Public propertyDestBottomRight
Gets or sets the bottom right point of the destination image in pixels.
Public propertyDestTopLeft
Gets or sets the top left point of the destination image in pixels.
Public propertyDestTopRight
Gets or sets the top right point of the destination image in pixels.
Public propertyInPlaceProcessing
Gets a value indicating if the source image data is processed in-place as opposed to returning a new image.
(Inherited from ImageCommand.)
Public propertyInterpolation
Gets or sets the InterpolationMode of this transform.
Public propertyProgress
Gets or sets the ProgressEventHandler delegate which can be used to view or cancel the progress of the current process.
(Inherited from ImageCommand.)
Public propertySourceBottomLeft
Gets or sets the bottom left point of the source image in pixels.
Public propertySourceBottomRight
Gets or sets the bottom right point of the source image in pixels.
Public propertySourceTopLeft
Gets or sets the top left point of the source image in pixels.
Public propertySourceTopRight
Gets or sets the top right point of the source image in pixels.
Public propertySupportedPixelFormats
Returns an array of PixelFormats supported by this command.
(Overrides ImageCommandSupportedPixelFormats.)
Top
Methods
  NameDescription
Public methodApply
Apply the command to the given image.
(Inherited from ImageCommand.)
Public methodApplyToImage Obsolete.
Applies the command to the source AtalaImage.
(Inherited from ImageCommand.)
Protected methodConstructChangedSourceImage
The method is called by the default implementation of Apply. It determines if it is necessary to create a copy of the source image in a different pixel format and if so, determines the best new pixel format and allocates that image.
(Inherited from ImageCommand.)
Protected methodConstructFinalImage
Called by the default implementation of Apply, ConstructFinalImage constructs the image that will be used as the destination image for the command.
(Overrides ImageCommandConstructFinalImage(AtalaImage).)
Protected methodConstructImageResults
Constructs the results object for this command.
(Inherited from ImageCommand.)
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Protected methodGetChangedPixelFormat
This method is called to change the pixel format of the source image.
(Inherited from ImageCommand.)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetObjectData
Fills a SerializationInfo object with information about this command.
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Protected methodImageCommandGetObjectData
Aggregates ImageCommand data into the supplied SerializationInfo object.
(Inherited from ImageCommand.)
Public methodIsPixelFormatSupported
Returns a value indicating if the specified pixel format is supported.
(Inherited from ImageCommand.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Protected methodPerformActualCommand
PerformActualCommand does the actual work of the image processing command.
(Overrides ImageCommandPerformActualCommand(AtalaImage, AtalaImage, Rectangle, ImageResults).)
Protected methodSelectBestAlternatePixelFormat
Choose the best pixel format to use for this command when the supplied source image's pixel format is unacceptable.
(Inherited from ImageCommand.)
Protected methodSelectPreferredPixelFormat
Chooses a pixel format that is preferred for this command.
(Overrides ImageCommandSelectPreferredPixelFormat(AtalaImage, PixelFormat, PixelFormat).)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Protected methodVerifyImage
Verify the integrity of an AtalaImage.
(Inherited from ImageCommand.)
Protected methodVerifyProperties
Verify the integrity of properties in the command before processing an image.
(Overrides ImageCommandVerifyProperties(AtalaImage).)
Top
Remarks
This method requires a continuous tone image. If the source image is not continuous, it will raise the ChangePixelFormat event and convert the image to a continuous tone format, which can be 8-bit grayscale, RGB, or RGBA.
Examples
QuadExample (C#)
// Load a 24-bit image.
AtalaImage image = new AtalaImage(@"D:\Test Images\1.jpg");

// Prepare the warp positions.
Point bottomLeft = new Point(100, image.Height - 80);
Point topLeft = new Point(130, 45);
Point topRight = new Point(image.Width - 60, 140);
Point bottomRight = new Point(image.Width - 20, image.Height);

// Warp the image.
QuadrilateralWarpCommand cmd = new QuadrilateralWarpCommand(bottomLeft, 
    topLeft, topRight, bottomRight, InterpolationMode.BiLinear, Color.White);

AtalaImage result = cmd.Apply(image).Image;
image.Dispose();
QuadExample (Visual Basic)
' Load a 24-bit image.
Dim image As AtalaImage =  New AtalaImage("D:\Test Images\1.jpg") 

' Prepare the warp positions.
Dim bottomLeft As Point =  New Point(100,image.Height - 80) 
Dim topLeft As Point =  New Point(130,45) 
Dim topRight As Point =  New Point(image.Width - 60,140) 
Dim bottomRight As Point =  New Point(image.Width - 20,image.Height) 

' Warp the image.
QuadrilateralWarpCommand cmd = New QuadrilateralWarpCommand(bottomLeft, 
    topLeft, topRight, bottomRight, InterpolationMode.BiLinear, Color.White)

Dim result As AtalaImage =  cmd.Apply(image).Image 
image.Dispose()
See Also