←Select platform

CopyRectangleCommand Class

Summary

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

Syntax
C#
VB
Objective-C
C++
Java
public class CopyRectangleCommand : RasterCommand 
Public Class CopyRectangleCommand  
   Inherits RasterCommand 
@interface LTCopyRectangleCommand : LTRasterCommand 
public class CopyRectangleCommand extends RasterCommand 
public ref class CopyRectangleCommand : public RasterCommand   

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 Run method.

Example

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

C#
VB
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing; 
using LeadtoolsExamples.Common; 
 
public void CopyRectangleCommandExample() 
{ 
   RasterCodecs codecs = new RasterCodecs(); 
 
   string srcFileName = Path.Combine(ImagesPath.Path, "Image1.cmp"); 
   string destFileName = Path.Combine(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 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(); 
   codecs.Dispose(); 
} 
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.ImageProcessing 
 
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#[Silverlight C# Example] 
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.Examples; 
using Leadtools.ImageProcessing; 
using Leadtools.Windows.Media; 
 
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(); 
} 
vb[Silverlight VB Example] 
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.ImageProcessing 
Imports Leadtools.Windows.Media 
 
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 

Requirements

Target Platforms

Help Version 20.0.2020.4.2
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2020 LEAD Technologies, Inc. All Rights Reserved.

Leadtools Assembly