←Select platform

PerspectiveCommand Class

Summary

Gives the image a 3-D depth, as if it exists on a flat plane skewed into different shapes. This command is available in the Imaging Pro and above toolkits.

Remarks
  • This method supports 12-bit and 16-bit grayscale and 48-bit and 64-bit color images. Support for 12-bit and 16-bit grayscale and 48-bit and 64-bit color images is available only in the Document/Medical toolkits.
  • If the image has a region, this method works only on the region. If the image does not have a region, this method works on the entire image.
  • This method does not support signed data images.
  • This command does not support 32-bit grayscale images.
Example

Run the PerspectiveCommand on an image.

C#
VB
WinRT C#
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.ImageProcessing.SpecialEffects 
 
<TestMethod()> _ 
Public Sub PerspectiveCommandExample() 
   Dim codecs As New RasterCodecs() 
   codecs.ThrowExceptionsOnInvalidImages = True 
   Dim leadImage As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "sample1.cmp")) 
 
   ' Prepare the command 
   Dim cornerPoints() As LeadPoint 
   ReDim cornerPoints(3) 
   cornerPoints(0).X = CInt(leadImage.Width * 3 / 9) 
   cornerPoints(0).Y = CInt(leadImage.Height * 1 / 12) 
   cornerPoints(1).X = CInt(leadImage.Width * 3 / 4) 
   cornerPoints(1).Y = CInt(leadImage.Height * 2 / 12) 
   cornerPoints(2).X = CInt(leadImage.Width * 2 / 10) 
   cornerPoints(2).Y = CInt(leadImage.Height * 8 / 10) 
   cornerPoints(3).X = CInt(leadImage.Width * 10 / 11) 
   cornerPoints(3).Y = CInt(leadImage.Height * 7 / 10) 
   Dim command As New PerspectiveCommand 
   command.CornerPoints = cornerPoints 
   command.FillColor = New RasterColor(255, 255, 255) 
   command.Type = PerspectiveCommandType.Color 
   command.Run(leadImage) 
   codecs.Save(leadImage, Path.Combine(LEAD_VARS.ImagesDir, "Result.jpg"), RasterImageFormat.Jpeg, 24) 
 
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.SpecialEffects; 
 
public void PerspectiveCommandExample() 
{ 
   // Load an image 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.ThrowExceptionsOnInvalidImages = true; 
   RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "sample1.cmp")); 
 
   // Prepare the command 
   LeadPoint[] cornerPoint = new LeadPoint[4]; 
   cornerPoint[0].X = image.Width * 3 / 9; 
   cornerPoint[0].Y = image.Height * 1 / 12; 
   cornerPoint[1].X = image.Width * 3 / 4; 
   cornerPoint[1].Y = image.Height * 2 / 12; 
   cornerPoint[2].X = image.Width * 2 / 10; 
   cornerPoint[2].Y = image.Height * 8 / 10; 
   cornerPoint[3].X = image.Width * 10 / 11; 
   cornerPoint[3].Y = image.Height * 7 / 10; 
   PerspectiveCommand command  = new PerspectiveCommand(); 
   command.CornerPoints = cornerPoint; 
   command.FillColor = new RasterColor(255, 255, 255); 
   command.Type = PerspectiveCommandType.Color; 
   command.Run(image); 
   codecs.Save(image, Path.Combine(LEAD_VARS.ImagesDir, "Result.jpg"), RasterImageFormat.Jpeg, 24); 
 
} 
 
static class LEAD_VARS 
{ 
public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; 
} 
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing.SpecialEffects; 
 
public async Task PerspectiveCommandExample() 
{ 
   // Load an image 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.ThrowExceptionsOnInvalidImages = true; 
   string srcFileName = @"Assets\Image1.cmp"; 
   StorageFile loadFile = await Tools.AppInstallFolder.GetFileAsync(srcFileName); 
   RasterImage image = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile)); 
 
   // Prepare the command 
   LeadPoint[] cornerPoint = new LeadPoint[4]; 
   cornerPoint[0].X = image.Width * 3 / 9; 
   cornerPoint[0].Y = image.Height * 1 / 12; 
   cornerPoint[1].X = image.Width * 3 / 4; 
   cornerPoint[1].Y = image.Height * 2 / 12; 
   cornerPoint[2].X = image.Width * 2 / 10; 
   cornerPoint[2].Y = image.Height * 8 / 10; 
   cornerPoint[3].X = image.Width * 10 / 11; 
   cornerPoint[3].Y = image.Height * 7 / 10; 
   PerspectiveCommand command  = new PerspectiveCommand(); 
   command.CornerPoints = cornerPoint; 
   command.FillColor = RasterColorHelper.Create(255, 255, 255); 
   command.Type = PerspectiveCommandType.Color; 
   command.Run(image); 
 
   string destFileName = @"result.bmp"; 
   StorageFile saveFile = await Tools.AppLocalFolder.CreateFileAsync(destFileName); 
   await codecs.SaveAsync(image, LeadStreamFactory.Create(saveFile), RasterImageFormat.Bmp, 24); 
} 

Requirements

Target Platforms

Products | Support | Contact Us | Copyright Notices
© 1991-2017 LEAD Technologies, Inc. All Rights Reserved.
Leadtools.ImageProcessing.SpecialEffects Assembly
Click or drag to resize