←Select platform

ShearCommand Class

Summary
Moves the corners of an image in the fashion of a parallelogram.
Syntax
C#
Objective-C
C++/CLI
Java
Python
public class ShearCommand : RasterCommand 
@interface LTShearCommand : LTRasterCommand 
public class ShearCommand extends RasterCommand 
public ref class ShearCommand : public RasterCommand   
class ShearCommand(RasterCommand): 
Remarks

You specify an angle of slant, horizontal or vertical shear, and the fill color for the created space. The following is a horizontal example:

Horizontal Shear

The angle is expressed in hundredths of degrees, with a limit of 4500 (45 degrees).

This command supports signed/unsigned data images.

For more information, refer to Introduction to Image Processing With LEADTOOLS.

Shear Function - Before

Shear Function - Before

Shear Function - After

Shear Function - After

View additional platform support for this Shear function.

Example

This example shears the image 15 degrees vertically, filling extra space with blue.

C#
Java
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing; 
 
 
public void ShearCommandExample() 
{ 
	RasterCodecs codecs = new RasterCodecs(); 
 
	string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp"); 
	string destFileName = Path.Combine(LEAD_VARS.ImagesDir, "ShearCommand.bmp"); 
 
	// Load the source image from disk 
	RasterImage image = codecs.Load(srcFileName); 
 
	// Shear the image 15 degrees vertically 
	ShearCommand command = new ShearCommand(); 
	command.Angle = -15 * 100; 
	command.FillColor = new RasterColor(255, 255, 255); 
	command.Horizontal = false; 
	command.Run(image); 
 
	// Save the image back to disk 
	codecs.Save(image, destFileName, RasterImageFormat.Bmp, 32); 
 
	// Clean Up 
	image.Dispose(); 
	codecs.Dispose(); 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images"; 
} 
 
import java.io.File; 
import java.io.IOException; 
 
import org.junit.*; 
import org.junit.runner.JUnitCore; 
import org.junit.runner.Result; 
import org.junit.runner.notification.Failure; 
import static org.junit.Assert.*; 
 
import leadtools.*; 
import leadtools.codecs.*; 
import leadtools.imageprocessing.*; 
 
 
public void shearCommandExample() { 
   final String LEAD_VARS_IMAGES_DIR = "C:\\LEADTOOLS23\\Resources\\Images"; 
   RasterCodecs codecs = new RasterCodecs(); 
   String srcFileName = combine(LEAD_VARS_IMAGES_DIR, "rgsref.cmp"); 
   String destFileName = combine(LEAD_VARS_IMAGES_DIR, "ShearCommand.bmp"); 
 
   // Load the source image from disk 
   RasterImage image = codecs.load(srcFileName); 
 
   // Shear the image 15 degrees vertically 
   ShearCommand command = new ShearCommand(); 
   command.setAngle(-15 * 100); 
   command.setFillColor(new RasterColor(255, 255, 255)); 
   command.setHorizontal(false); 
   command.run(image); 
 
   // Save the image back to disk 
   codecs.save(image, destFileName, RasterImageFormat.BMP, 32); 
 
   assertTrue("file unsuccessfully saved to " + destFileName, (new File(destFileName)).exists()); 
   System.out.printf("File saved successfully to %s%n", destFileName); 
 
   // Clean Up 
   image.dispose(); 
   codecs.dispose(); 
} 
Requirements

Target Platforms

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

Leadtools Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.