public event EventHandler<RasterCommandProgressEventArgs> Progress
typedef void (^LTRasterCommandProgress)(NSInteger percent, BOOL *cancel)
- (BOOL)run:(LTRasterImage *)image
progress:(nullable LTRasterCommandProgress)progressHandler
error:(NSError **)error
public void addProgressListener(RasterImageProgressListener listener)
public void removeProgressListener(RasterImageProgressListener listener)
public:
event EventHandler<RasterCommandProgressEventArgs^>^ Progress
def Progress(sender,e): # sender: RasterCommand e: RasterCommandProgressEventArgs
The event handler receives an argument of type RasterCommandProgressEventArgs containing data related to this event. The following RasterCommandProgressEventArgs properties provide information specific to this event.
Property | Description |
---|---|
Cancel | Gets or sets a value indicating whether the image processing command should be canceled. |
The Progress event is fired when the Run method. RasterCommandProgressEventArgs provides data on the current progress of the image processing command. You can use this data to provide visual feedback to the user.
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);
}
};
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document