Leadtools Send comments on this topic. | Back to Introduction - All Topics | Help Version 16.5.9.25
CopyRectangleCommand Class
See Also  Members   Example 
Leadtools.ImageProcessing Namespace : CopyRectangleCommand Class



Copies a portion of an image to create another image that is the size of the rectangle that you specify.

Object Model


Syntax

Visual Basic (Declaration)  
Public Class CopyRectangleCommand 
   Inherits RasterCommand
   Implements IRasterCommand 
Visual Basic (Usage) Copy Code
Dim instance As CopyRectangleCommand
C#  
public class CopyRectangleCommand : RasterCommand, IRasterCommand  
C++/CLI  
public ref class CopyRectangleCommand : public RasterCommand, IRasterCommand  

Example

This example will create a new image from the top left portion of an existing image.

Visual Basic Copy Code
Public Sub CopyRectangleCommandExample()
 RasterCodecs.Startup()
 Dim codecs As RasterCodecs = New RasterCodecs()

 Dim srcFileName As String = LeadtoolsExamples.Common.ImagesPath.Path + "Image1.cmp"
 Dim destFileName As String = LeadtoolsExamples.Common.ImagesPath.Path + "CopyRectangleCommand.bmp"

 ' Load the source image from disk
 Dim srcImage As RasterImage = codecs.Load(srcFileName)

 ' Create an image from the top/right portion of this image
 Dim command As CopyRectangleCommand = New CopyRectangleCommand()
 command.Rectangle = New Rectangle(srcImage.Width \ 8, srcImage.Height \ 8, srcImage.Width \ 3, srcImage.Height \ 3)
 command.CreateFlags = RasterMemoryFlags.Conventional
 command.Run(srcImage)

 Dim destImage As RasterImage = command.DestinationImage

 ' Save it to disk
 codecs.Save(destImage, destFileName, RasterImageFormat.Bmp, 24)

 ' Clean Up
 srcImage.Dispose()
 destImage.Dispose()
 RasterCodecs.Shutdown()
      End Sub
C# Copy Code
public void CopyRectangleCommandExample() 

   RasterCodecs.Startup(); 
   RasterCodecs codecs = new RasterCodecs(); 
 
   string srcFileName = LeadtoolsExamples.Common.ImagesPath.Path + "Image1.cmp"; 
   string destFileName = LeadtoolsExamples.Common.ImagesPath.Path + "CopyRectangleCommand.bmp"; 
 
   // Load the source image from disk 
   RasterImage srcImage = codecs.Load(srcFileName); 
 
   // Create an image from the top/right portion of this image 
   CopyRectangleCommand command = new CopyRectangleCommand(); 
   command.Rectangle = new Rectangle( 
      srcImage.Width / 8, 
      srcImage.Height / 8, 
      srcImage.Width / 3, 
      srcImage.Height / 3); 
   command.CreateFlags = RasterMemoryFlags.Conventional; 
   command.Run(srcImage); 
 
   RasterImage destImage = command.DestinationImage; 
 
   // Save it to disk 
   codecs.Save(destImage, destFileName, RasterImageFormat.Bmp, 24); 
 
   // Clean Up 
   srcImage.Dispose(); 
   destImage.Dispose(); 
   RasterCodecs.Shutdown(); 
}

Remarks

This command duplicates the original image palette, if one is required in the new image.

This command uses image coordinates to specify the area to be copied. Therefore, you must account for the RasterImage.ViewPerspective of the image. For information about image coordinates, refer to Accounting for View Perspective.

If a region is defined for the source image, the region is also copied, and the region is clipped if necessary.

The CopyRectangleCommand command works by creating a new image in the DestinationImage property from the image passed to the RasterCommand.Run method.

Inheritance Hierarchy

System.Object
   Leadtools.ImageProcessing.RasterCommand
      Leadtools.ImageProcessing.CopyRectangleCommand

Requirements

Target Platforms: Microsoft .NET Framework 3.0, Windows XP, Windows Server 2003 family, Windows Server 2008 family

See Also