LEADTOOLS (Leadtools assembly)

CopyRectangleCommand Class

Show in webframe
Example 







Members 
Copies a portion of an image to create another image that is the size of the rectangle that you specify.
Object Model
Syntax
public class CopyRectangleCommand : RasterCommand, IRasterCommand  
'Declaration
 
Public Class CopyRectangleCommand 
   Inherits RasterCommand
   Implements IRasterCommand 
'Usage
 
Dim instance As CopyRectangleCommand
public sealed class CopyRectangleCommand : IRasterCommand  
@interface LTCopyRectangleCommand : LTRasterCommand
public class CopyRectangleCommand extends RasterCommand
function Leadtools.ImageProcessing.CopyRectangleCommand()
public ref class CopyRectangleCommand : public RasterCommand, IRasterCommand  
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.

Example
Copy Code  
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
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing;

      
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();
}
RasterCommandExamples.prototype.CopyRectangleCommandExample = function () {
    Tools.SetLicense();
    with (Leadtools) {
        with (Leadtools.Codecs) {
            with (Leadtools.ImageProcessing) {
                var codecs = new RasterCodecs();

                var srcFileName = "Assets\\Image1.cmp";
                var destFileName = "CopyRectangleCommand.bmp";
                var srcImage;
                var destImage;
                // Load the source image from disk
                return Tools.AppInstallFolder().getFileAsync(srcFileName).then(function (loadFile) {
                    return codecs.loadAsync(LeadStreamFactory.create(loadFile))
                })
            .then(function (img) {
                srcImage = img;

                // Create an image from the top/right portion of this image
                var command = new CopyRectangleCommand();
                command.rectangle = LeadRectHelper.create(
                   srcImage.width / 8,
                   srcImage.height / 8,
                   srcImage.width / 3,
                   srcImage.height / 3);
                command.createFlags = RasterMemoryFlags.conventional;
                command.run(srcImage);

                destImage = command.destinationImage;

                // Save it to disk
                return Tools.AppLocalFolder().createFileAsync(destFileName)
            })
            .then(function (saveFile) {
                return codecs.saveAsync(destImage, LeadStreamFactory.create(saveFile), RasterImageFormat.bmp, 24)
            })
            .then(function () {
                // Clean Up
                srcImage.close();
                destImage.close();
                codecs.close();
            });
            }
        }
    }
}
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing;

      
public async Task CopyRectangleCommandExample()
{
   RasterCodecs codecs = new RasterCodecs();
   string srcFileName = @"Assets\Image1.cmp";
   string destFileName = @"CopyRectangleCommand.bmp";

   // Load the source image from disk
   StorageFile loadFile = await Tools.AppInstallFolder.GetFileAsync(srcFileName);
   RasterImage srcImage = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile));

   // Create an image from the top/right portion of this image
   CopyRectangleCommand command = new CopyRectangleCommand();
   command.Rectangle = LeadRectHelper.Create(
      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
   StorageFile saveFile = await Tools.AppLocalFolder.CreateFileAsync(destFileName);
   await codecs.SaveAsync(destImage, LeadStreamFactory.Create(saveFile), RasterImageFormat.Bmp, 24);

   // Clean Up
   srcImage.Dispose();
   destImage.Dispose();
}
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();
}
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

See Also

Reference

CopyRectangleCommand Members
Leadtools.ImageProcessing Namespace

 

 


Products | Support | Contact Us | Copyright Notices

© 2006-2014 All Rights Reserved. LEAD Technologies, Inc.