Leadtools.ImageProcessing Namespace : CopyRectangleCommand Class |
public class CopyRectangleCommand : RasterCommand, IRasterCommand
'Declaration Public Class CopyRectangleCommand Inherits RasterCommand Implements IRasterCommand
'Usage Dim instance As CopyRectangleCommand
public sealed class CopyRectangleCommand : IRasterCommand
function Leadtools.ImageProcessing.CopyRectangleCommand()
public ref class CopyRectangleCommand : public RasterCommand, IRasterCommand
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.
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
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"; }
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(); }); } } } }
[TestMethod] 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(); }
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(); }
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
Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2