←Select platform

Run Method

Summary
Runs the image processing command.
Syntax
C#
Objective-C
C++/CLI
Java
Python
- (BOOL)run:(LTRasterImage *)image error:(NSError **)error 
public int run(RasterImage image) 
def Run(self,image): 

Parameters

image
The image on which the image processing command should be performed.

Return Value

RasterImageChangedFlags flags which indicate the changes made to the specified image.

Remarks

Call this method to start the image processing command.

Each derived class must override this method to provide the actual image processing algorithm.

Example
C#
Java
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing; 
 
 
public void RasterCommandExample() 
{ 
	RasterCodecs codecs = new RasterCodecs(); 
 
	string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp"); 
	string rotatedFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1_rotated.bmp"); 
	string flippedFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1_flipped.bmp"); 
 
	// Load the source image from disk 
	RasterImage image = codecs.Load(srcFileName); 
 
	// flip the image 
	FlipCommand flip = new FlipCommand(false); 
	RunCommand(image, flip); 
 
	// save the image 
	codecs.Save(image, flippedFileName, RasterImageFormat.Bmp, 24); 
 
	// rotate the image by 45 degrees 
	RotateCommand rotate = new RotateCommand(); 
	rotate.Angle = 45 * 100; 
	rotate.FillColor = RasterColor.FromKnownColor(RasterKnownColor.White); 
	rotate.Flags = RotateCommandFlags.Resize; 
	RunCommand(image, rotate); 
 
	// save the image 
	codecs.Save(image, rotatedFileName, RasterImageFormat.Bmp, 24); 
 
	// clean up 
	image.Dispose(); 
	codecs.Dispose(); 
} 
 
bool cancelAt50; 
 
void RunCommand(RasterImage image, RasterCommand command) 
{ 
	// subscribe to the progress event of the command 
	command.Progress += new EventHandler<RasterCommandProgressEventArgs>(command_Progress); 
 
	// if this is a flip command, we want to stop at 50 percent 
	cancelAt50 = command is FlipCommand; 
 
	// run the command 
	command.Run(image); 
 
	command.Progress -= new EventHandler<RasterCommandProgressEventArgs>(command_Progress); 
} 
 
void command_Progress(object sender, RasterCommandProgressEventArgs e) 
{ 
	// show the percentage 
	Console.WriteLine(e.Percent); 
 
	// check if we need to cancel the command at 50% 
	if (e.Percent == 50 && cancelAt50) 
		e.Cancel = true; 
} 
 
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 rasterCommandExample() { 
   final String LEAD_VARS_IMAGES_DIR = "C:\\LEADTOOLS23\\Resources\\Images"; 
   RasterCodecs codecs = new RasterCodecs(); 
   String srcFileName = combine(LEAD_VARS_IMAGES_DIR, "rgsref.cmp"); 
   String rotatedFileName = combine(LEAD_VARS_IMAGES_DIR, "rgsref_rotated.bmp"); 
   String flippedFileName = combine(LEAD_VARS_IMAGES_DIR, "rgsref_flipped.bmp"); 
 
   // Load the source image from disk 
   RasterImage image = codecs.load(srcFileName); 
 
   // flip the image 
   FlipCommand flip = new FlipCommand(false); 
   runCommand(image, flip); 
 
   // save the image 
   codecs.save(image, flippedFileName, RasterImageFormat.BMP, 24); 
 
   // rotate the image by 45 degrees 
   RotateCommand rotate = new RotateCommand(); 
   rotate.setAngle(45 * 100); 
   rotate.setFillColor(RasterColor.fromKnownColor(RasterKnownColor.WHITE)); 
   rotate.setFlags(RotateCommandFlags.RESIZE.getValue()); 
   runCommand(image, rotate); 
 
   // save the image 
   codecs.save(image, rotatedFileName, RasterImageFormat.BMP, 24); 
 
   assertTrue("file unsuccessfully saved to " + rotatedFileName, (new File(rotatedFileName)).exists()); 
   System.out.printf("File saved successfully to %s%n", rotatedFileName); 
 
   // clean up 
   image.dispose(); 
   codecs.dispose(); 
} 
 
boolean cancelAt50; 
 
void runCommand(RasterImage image, RasterCommand command) { 
 
   // subscribe to the progress event of the command 
   command.addProgressListener(command_Progress); 
 
   // if this is a flip command, we want to stop at 50 percent 
   cancelAt50 = (command instanceof FlipCommand); 
 
   // run the command 
   command.run(image); 
 
   command.removeProgressListener(command_Progress); 
 
} 
 
RasterImageProgressListener command_Progress = new RasterImageProgressListener() { 
 
   @Override 
   public void RasterImageProgressAlert(RasterImageProgressEvent e) { 
      // show the percentage 
      System.out.println(e.getPercentComplete()); 
 
      // check if we need to cancel the command at 50% 
      if (e.getPercentComplete() == 50 && cancelAt50) 
         e.setCancel(true); 
   } 
 
}; 
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.