LEADTOOLS (Leadtools assembly) Send comments on this topic. | Back to Introduction - All Topics | Help Version 17.0.3.29
CopyRectangleCommand Class
See Also  Members  
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. Supported in Silverlight, Windows Phone 7

Object Model

CopyRectangleCommand ClassRasterImage ClassLeadRect Structure

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 BasicCopy Code
Public Sub CopyRectangleCommandExample()
      Dim codecs As RasterCodecs = New RasterCodecs()

      Dim srcFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp")
      Dim destFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "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 LeadRect(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()
   End Sub

Public NotInheritable Class LEAD_VARS
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
C#Copy Code
public void CopyRectangleCommandExample()
   {
      RasterCodecs codecs = new RasterCodecs();

      string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp");
      string destFileName = Path.Combine(LEAD_VARS.ImagesDir, "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 LeadRect(
         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();
   }

static class LEAD_VARS
{
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
SilverlightCSharpCopy Code
public void CopyRectangleCommandExample(RasterImage srcImage, Stream destStream)
{
   RasterCodecs codecs = new RasterCodecs();
   // Create an image from the top/right portion of this image
   CopyRectangleCommand command = new CopyRectangleCommand();
   command.Rectangle = new LeadRect(
      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, destStream, RasterImageFormat.Bmp, 24);

   // Clean Up
   srcImage.Dispose();
   destImage.Dispose();
}
SilverlightVBCopy Code
Public Sub CopyRectangleCommandExample(ByVal srcImage As RasterImage, ByVal destStream As Stream)
   Dim codecs As RasterCodecs = New RasterCodecs()
   ' Create an image from the top/right portion of this image
   Dim command As CopyRectangleCommand = New CopyRectangleCommand()
   command.Rectangle = New LeadRect(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, destStream, RasterImageFormat.Bmp, 24)

   ' Clean Up
   srcImage.Dispose()
   destImage.Dispose()
End Sub

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: Silverlight, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7, MAC OS/X (Intel Only), Windows Phone 7

See Also