The main class for JavaScript image processing in LEADTOOLS is Leadtools.ImageProcessing. Refer to this class for more information on how to perform image processing on an HTML 5 ImageData object.
LEADTOOLS ships with the following image processing JavaScript files:
This file contains the following commands:
Flips the image vertically. Command parameters:
Member | Values |
---|---|
ImageProcessing.Command |
"Flip" |
ImageProcessing.Arguments |
Not used |
ImageProcessingCompletedEventArgs.Results |
Not used |
Example: Flip a canvas.
var myCanvas = document.getElementById("myCanvas");
var context = myCanvas.getContext("2d");
var imageProcessing = new lt.ImageProcessing();
imageProcessing.set_jsFilePath("Scripts/Leadtools.ImageProcessing.Main.js");
imageProcessing.set_command("Flip");
imageProcessing.set_imageData(context.getImageData(0, 0, myCanvas.width, myCanvas.height));
imageProcessing.add_completed(function(sender, e) {
context.putImageData(e.get_imageData(), 0, 0);
});
imageProcessing.run();
Flips the image horizontally. Command parameters:
Member | Values |
---|---|
ImageProcessing.Command |
"Reverse" |
ImageProcessing.Arguments |
Not used |
ImageProcessingCompletedEventArgs.Results |
Not used |
Example: Reverse a canvas.
var myCanvas = document.getElementById("myCanvas");
var context = myCanvas.getContext("2d");
var imageProcessing = new lt.ImageProcessing();
imageProcessing.set_jsFilePath("Scripts/Leadtools.ImageProcessing.Main.js");
imageProcessing.set_command("Reverse");
imageProcessing.set_imageData(context.getImageData(0, 0, myCanvas.width, myCanvas.height));
imageProcessing.add_completed(function(sender, e) {
context.putImageData(e.get_imageData(), 0, 0);
});
imageProcessing.run();
Fills the image with a color. Command parameters:
Member | Values |
---|---|
ImageProcessing.Command |
"Fill" |
ImageProcessing.Arguments |
"color": A number containing the color value in the AARRGGBB format, such as 0xFFFF0000 for red, 0xFF00FF00 for blue and 0xFF0000FF for blue and so on. |
ImageProcessingCompletedEventArgs.Results |
Not used |
Example: Fill a canvas with solid blue.
var myCanvas = document.getElementById("myCanvas");
var context = myCanvas.getContext("2d");
var imageProcessing = new lt.ImageProcessing();
imageProcessing.set_jsFilePath("Scripts/Leadtools.ImageProcessing.Main.js");
imageProcessing.set_command("Fill");
imageProcessing.get_arguments()["color"] = 0xFF0000FF;
imageProcessing.set_imageData(context.getImageData(0, 0, myCanvas.width, myCanvas.height));
imageProcessing.add_completed(function(sender, e) {
context.putImageData(e.get_imageData(), 0, 0);
});
imageProcessing.run();
This file contains the following commands:
Inverts the colors of the image. Command parameters:
Member | Values |
---|---|
ImageProcessing.Command |
"Invert" |
ImageProcessing.Arguments |
Not used |
ImageProcessingCompletedEventArgs.Results |
Not used |
Example: Invert the colors of a canvas.
var myCanvas = document.getElementById("myCanvas");
var context = myCanvas.getContext("2d");
var imageProcessing = new lt.ImageProcessing();
imageProcessing.set_jsFilePath("Scripts/Leadtools.ImageProcessing.Color.js");
imageProcessing.set_command("Invert");
imageProcessing.set_imageData(context.getImageData(0, 0, myCanvas.width, myCanvas.height));
imageProcessing.add_completed(function(sender, e) {
context.putImageData(e.get_imageData(), 0, 0);
});
imageProcessing.run();
Gets the number of unique colors in an image. The image data is not affected. Command parameters:
Member | Values |
---|---|
ImageProcessing.Command |
"ColorCount" |
ImageProcessing.Arguments |
Not used |
ImageProcessingCompletedEventArgs.Results |
"colorCount": A number containing the count of unique colors in the image. |
Example: Count the number of unique colors in a canvas.
var myCanvas = document.getElementById("myCanvas");
var context = myCanvas.getContext("2d");
var imageProcessing = new lt.ImageProcessing();
imageProcessing.set_jsFilePath("Scripts/Leadtools.ImageProcessing.Color.js");
imageProcessing.set_command("ColorCount");
imageProcessing.set_imageData(context.getImageData(0, 0, myCanvas.width, myCanvas.height));
imageProcessing.add_completed(function(sender, e) {
var count = e.get_results()["colorCount"];
alert("The canvas contains " + count + " unique color(s)");
});
imageProcessing.run();
Stretches the histogram of the image. Command parameters:
Member | Values |
---|---|
ImageProcessing.Command |
"StretchHistogram" |
ImageProcessing.Arguments |
Not used |
ImageProcessingCompletedEventArgs.Results |
Not used |
Example: Stretch the histogram of the canvas.
var myCanvas = document.getElementById("myCanvas");
var context = myCanvas.getContext("2d");
var imageProcessing = new lt.ImageProcessing();
imageProcessing.set_jsFilePath("Scripts/Leadtools.ImageProcessing.Color.js");
imageProcessing.set_command("StretchHistogram");
imageProcessing.set_imageData(context.getImageData(0, 0, myCanvas.width, myCanvas.height));
imageProcessing.add_completed(function(sender, e) {
context.putImageData(e.get_imageData(), 0, 0);
});
imageProcessing.run();
Performs adaptive contrast enhancement (ACE) to regions that are originally low in contrast. Command parameters:
Member | Values |
---|---|
ImageProcessing.Command |
"AdaptiveContrast" |
ImageProcessing.Arguments |
"dimension": The dimensions of the neighborhood used for filtering (dimension x dimension), in pixels. Range is from 1 to infinity "amount": The adjustment factor value. Range is from 100 to infinity "type": The adjustment method. 1 for Exponential, or 2 for Linear |
ImageProcessingCompletedEventArgs.Results |
Not used |
Example: Performs adaptive contrast enhancement (ACE) on the canvas.
var myCanvas = document.getElementById("myCanvas");
var context = myCanvas.getContext("2d");
var imageProcessing = new lt.ImageProcessing();
imageProcessing.set_jsFilePath("Scripts/Leadtools.ImageProcessing.Color.js");
imageProcessing.set_command("AdaptiveContrast");
imageProcessing.get_arguments()["dimension"] = 3;
imageProcessing.get_arguments()["amount"] = 500;
imageProcessing.get_arguments()["type"] = 1;
imageProcessing.set_imageData(context.getImageData(0, 0, myCanvas.width, myCanvas.height));
imageProcessing.add_completed(function(sender, e) {
context.putImageData(e.get_imageData(), 0, 0);
});
imageProcessing.run();
Linearizes the number of pixels in an image based on the specified color space. Command parameters:
Member | Values |
---|---|
ImageProcessing.Command |
"HistogramEqualize" |
ImageProcessing.Arguments |
"type": The typ indicates which color space to equalize. 1 for Rgb, 2 for Yuv, or 4 for Gray |
ImageProcessingCompletedEventArgs.Results |
Not used |
Example: Apply HistogramEqualize command to the canvas.
var myCanvas = document.getElementById("myCanvas");
var context = myCanvas.getContext("2d");
var imageProcessing = new lt.ImageProcessing();
imageProcessing.set_jsFilePath("Scripts/Leadtools.ImageProcessing.Color.js");
imageProcessing.set_command("HistogramEqualize");
imageProcessing.get_arguments()["type"] = 1;
imageProcessing.set_imageData(context.getImageData(0, 0, myCanvas.width, myCanvas.height));
imageProcessing.add_completed(function(sender, e) {
context.putImageData(e.get_imageData(), 0, 0);
});
imageProcessing.run();
Adjusts the intensity of colors in an image by changing the gamma constant that is used to map the intensity values. Command parameters:
Member | Values |
---|---|
ImageProcessing.Command |
"GammaCorrect" |
ImageProcessing.Arguments |
"gamma": The integer representing the gamma value. Range is 1 to infinity |
ImageProcessingCompletedEventArgs.Results |
Not used |
Example: Apply GammaCorrect command to the canvas.
var myCanvas = document.getElementById("myCanvas");
var context = myCanvas.getContext("2d");
var imageProcessing = new lt.ImageProcessing();
imageProcessing.set_jsFilePath("Scripts/Leadtools.ImageProcessing.Color.js");
imageProcessing.set_command("GammaCorrect");
imageProcessing.get_arguments()["gamma"] = 1000;
imageProcessing.set_imageData(context.getImageData(0, 0, myCanvas.width, myCanvas.height));
imageProcessing.add_completed(function(sender, e) {
context.putImageData(e.get_imageData(), 0, 0);
});
imageProcessing.run();
Applies one of several types of automatic color leveling to an image. Command parameters:
Member | Values |
---|---|
ImageProcessing.Command |
"AutoColorLevel" |
ImageProcessing.Arguments |
"type": A value that indicates the type of leveling to perform. 1 for Level, or 2 for Contrast, or 3 for Intensity "flag": A flag that indicates whether the method will process the image. 0 for None, or 4 for NoProcess "blackClip": (Optional) value that represents the percentage of black pixels to clip from the image, in hundredths of a percent. range from 0 to 10000 (which represents 100%). The default value is 50, which indicates to clip 0.5 of the black pixels. "whiteClip": (Optional) value that represents the percentage of white pixels to clip from the image, in hundredths of a percent. range from 0 to 10000 (which represents 100%). The default value is 50, which indicates to clip 0.5 of the white pixels. |
ImageProcessingCompletedEventArgs.Results |
"master": Object containing color leveling information for the Master channel. Members are: minInput, maxInput, minOutput, maxOutput, and gamma. "red": Object containing color leveling information for the Red channel. Members are: minInput, maxInput, minOutput, maxOutput, and gamma. "green": Object containing color leveling information for the Green channel. Members are: minInput, maxInput, minOutput, maxOutput, and gamma. "blue": Object containing color leveling information for the Blue channel. Members are: minInput, maxInput, minOutput, maxOutput, and gamma. |
Example: Apply AutoColorLevel command to the canvas.
var myCanvas = document.getElementById("myCanvas");
var context = myCanvas.getContext("2d");
var imageProcessing = new lt.ImageProcessing();
imageProcessing.set_jsFilePath("Scripts/Leadtools.ImageProcessing.Color.js");
imageProcessing.set_command("AutoColorLevel");
imageProcessing.get_arguments()["type"] = 3;
imageProcessing.get_arguments()["flag"] = 0;
imageProcessing.get_arguments()["blackClip"] = 1000;
imageProcessing.get_arguments()["whiteClip"] = 1000;
imageProcessing.set_imageData(context.getImageData(0, 0, myCanvas.width, myCanvas.height));
imageProcessing.add_completed(function(sender, e) {
context.putImageData(e.get_imageData(), 0, 0);
var master = e.get_results().master;
if (master != null) {
alert("master:" + "\n" +
"MinInput: " + master.minInput + "\n" +
"MaxInput: " + master.maxInput + "\n" +
"MinOutput: " + master.minOutput + "\n" +
"MaxOutput: " + master.maxOutput + "\n" +
"Gamma: " + master.gamma + "\n");
}
});
imageProcessing.run();
Applies color leveling to an image. It changes the image shadows, midtones and highlights. Command parameters:
Member | Values |
---|---|
ImageProcessing.Command |
"ColorLevel" |
ImageProcessing.Arguments |
"flag": Flag that indicates the channel being leveled. 1 for Red Channel, and/or 16 for Green Channel, and/or 256 for Blue Channel, and/or 4096 for Master Channel, or 4369 for All "masterChannelColorLevelData": Color-leveling information Object for the master channel used in the ColorLevel Command. Members are: minInput, maxInput, minOutput, maxOutput, and gamma. (min/max Input-Output values: 0 - 255, gamma values: 1 to infinity) "redChannelColorLevelData": Color-leveling information Object for the red channel used in the ColorLevel Command. Members are: minInput, maxInput, minOutput, maxOutput, and gamma. (min/max Input-Output values: 0 - 255, gamma values: 1 to infinity) "greenChannelColorLevelData": Color-leveling information Object for the green channel used in the ColorLevel Command. Members are: minInput, maxInput, minOutput, maxOutput, and gamma. (min/max Input-Output values: 0 - 255, gamma values: 1 to infinity) "blueChannelColorLevelData": Color-leveling information Object for the blue channel used in the ColorLevel Command. Members are: minInput, maxInput, minOutput, maxOutput, and gamma. (min/max Input-Output values: 0 - 255, gamma values: 1 to infinity) |
ImageProcessingCompletedEventArgs.Results |
Not used |
Example: Apply ColorLevel command to the canvas.
var myCanvas = document.getElementById("myCanvas");
var context = myCanvas.getContext("2d");
var imageProcessing = new lt.ImageProcessing();
imageProcessing.set_jsFilePath("Scripts/Leadtools.ImageProcessing.Color.js");
imageProcessing.set_command("ColorLevel");
var myRedChannelColorLevelData = new Object();
myRedChannelColorLevelData.minInput = 20;
myRedChannelColorLevelData.maxInput = 200;
myRedChannelColorLevelData.minOutput = 50;
myRedChannelColorLevelData.maxOutput = 150;
myRedChannelColorLevelData.gamma = 300;
imageProcessing.get_arguments()["redChannelColorLevelData"] = myRedChannelColorLevelData;
imageProcessing.get_arguments()["flag"] = 1;
imageProcessing.set_imageData(context.getImageData(0, 0, myCanvas.width, myCanvas.height));
imageProcessing.add_completed(function(sender, e) {
context.putImageData(e.get_imageData(), 0, 0);
});
imageProcessing.run();
Changes the Contrast/Brightness/Intensity values of the image. Command parameters:
Member | Values |
---|---|
ImageProcessing.Command |
"ContrastBrightnessIntensity" |
ImageProcessing.Arguments |
"contrast": The value representing contrast. Range is -1000 to 1000 "brightness": The value representing brightness. Range is -1000 to 1000 "intensity": The value representing intensity. Range is -1000 to 1000 |
ImageProcessingCompletedEventArgs.Results |
Not used |
Example: Changes the Contrast/Brightness/Intensity values of the canvas.
var myCanvas = document.getElementById("myCanvas");
var context = myCanvas.getContext("2d");
var imageProcessing = new lt.ImageProcessing();
imageProcessing.set_jsFilePath("Scripts/Leadtools.ImageProcessing.Color.js");
imageProcessing.set_command("ContrastBrightnessIntensity");
imageProcessing.get_arguments()["contrast"] = 500;
imageProcessing.get_arguments()["brightness"] = 500;
imageProcessing.get_arguments()["intensity"] = 500;
imageProcessing.set_imageData(context.getImageData(0, 0, myCanvas.width, myCanvas.height));
imageProcessing.add_completed(function(sender, e) {
context.putImageData(e.get_imageData(), 0, 0);
});
imageProcessing.run();
Changes the Hue/Saturation/Intensity values of the image. Command parameters:
Member | Values |
---|---|
ImageProcessing.Command |
"ChangeHueSaturationIntensity" |
ImageProcessing.Arguments |
"hue": The hue value. Range is -18000 to 18000 "saturation": The saturation value. Range is -1000 to 1000 "intensity": The intensity value. Range is -1000 to 1000 "hsiData": (Optional) array of Objects that provides information about the color ranges. Object Members: hue (-18000 to 18000), saturation (-1000 to 1000), intensity(-1000 to 1000), innerLow (-359 to 359), innerHigh (-359 to 359), outerLow (-359 to 359), and outerHigh (-359 to 359) |
ImageProcessingCompletedEventArgs.Results |
Not used |
Example: Changes the Hue/Saturation/Intensity values of the canvas.
var myCanvas = document.getElementById("myCanvas");
var context = myCanvas.getContext("2d");
var imageProcessing = new lt.ImageProcessing();
imageProcessing.set_jsFilePath("Scripts/Leadtools.ImageProcessing.Color.js");
imageProcessing.set_command("ChangeHueSaturationIntensity");
imageProcessing.get_arguments()["hue"] = 500;
imageProcessing.get_arguments()["saturation"] = 500;
imageProcessing.get_arguments()["intensity"] = 500;
var hsiData = new Array(1);
hsiData[0] = new Object();
hsiData[0].intensity = arguments["intensity"];
hsiData[0].saturation = arguments["saturation"];
hsiData[0].hue = arguments["hue"];
hsiData[0].outerLow = 0;
hsiData[0].outerHigh = 359;
hsiData[0].innerLow = 90;
hsiData[0].innerHigh = 180;
imageProcessing.get_arguments()["hsiData"] = hsiData;
imageProcessing.set_imageData(context.getImageData(0, 0, myCanvas.width, myCanvas.height));
imageProcessing.add_completed(function(sender, e) {
context.putImageData(e.get_imageData(), 0, 0);
});
imageProcessing.run();
This file contains the following commands:
Smooths or blurs an image by applying a Gaussian filter to the specified image. Command parameters:
Member | Values |
---|---|
ImageProcessing.Command |
"GaussianFilter" |
ImageProcessing.Arguments |
"radius": radius value. 1 to infinity. |
ImageProcessingCompletedEventArgs.Results |
Not used |
Example: Apply GaussianFilter command to the canvas.
var myCanvas = document.getElementById("myCanvas");
var context = myCanvas.getContext("2d");
var imageProcessing = new lt.ImageProcessing();
imageProcessing.set_jsFilePath("Scripts/Leadtools.ImageProcessing.Effects.js");
imageProcessing.set_command("GaussianFilter");
imageProcessing.get_arguments()["radius"] = 10;
imageProcessing.set_imageData(context.getImageData(0, 0, myCanvas.width, myCanvas.height));
imageProcessing.add_completed(function(sender, e) {
context.putImageData(e.get_imageData(), 0, 0);
});
imageProcessing.run();
Sharpens the image by applying the unsharp mask. Command parameters:
Member | Values |
---|---|
ImageProcessing.Command |
"UnsharpMask" |
ImageProcessing.Arguments |
"radius": The radius value. Range is 1 to infinity. "amount": The amount value. Range is 0 to infinity. "threshold": The threshold value. Range is 0 to 255. "colorType": The colorType value. 1 for Rgb, 2 for Yuv |
ImageProcessingCompletedEventArgs.Results |
Not used |
Example: Apply UnsharpMask command to the canvas.
var myCanvas = document.getElementById("myCanvas");
var context = myCanvas.getContext("2d");
var imageProcessing = new lt.ImageProcessing();
imageProcessing.set_jsFilePath("Scripts/Leadtools.ImageProcessing.Effects.js");
imageProcessing.set_command("UnsharpMask");
imageProcessing.get_arguments()["radius"] = 3;
imageProcessing.get_arguments()["amount"] = 1000;
imageProcessing.get_arguments()["threshold"] = 128;
imageProcessing.get_arguments()["colorType"] = 2;
imageProcessing.set_imageData(context.getImageData(0, 0, myCanvas.width, myCanvas.height));
imageProcessing.add_completed(function(sender, e) {
context.putImageData(e.get_imageData(), 0, 0);
});
imageProcessing.run();
Smoothes the rough edges in the image. Command parameters:
Member | Values |
---|---|
ImageProcessing.Command |
"SmoothEdges" |
ImageProcessing.Arguments |
"amount": The amount value. Range is 0 to 100. "threshold": The threshold value. Range is 0 to 255. |
ImageProcessingCompletedEventArgs.Results |
Not used |
Example: Apply SmoothEdges command to the canvas.
var myCanvas = document.getElementById("myCanvas");
var context = myCanvas.getContext("2d");
var imageProcessing = new lt.ImageProcessing();
imageProcessing.set_jsFilePath("Scripts/Leadtools.ImageProcessing.Effects.js");
imageProcessing.set_command("SmoothEdges");
imageProcessing.get_arguments()["amount"] = 50;
imageProcessing.get_arguments()["threshold"] = 10;
imageProcessing.set_imageData(context.getImageData(0, 0, myCanvas.width, myCanvas.height));
imageProcessing.add_completed(function(sender, e) {
context.putImageData(e.get_imageData(), 0, 0);
});
imageProcessing.run();
Imposes a spatial filter on an image. Command parameters:
Member | Values | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
ImageProcessing.Command |
"SpatialFilter" |
||||||||||
ImageProcessing.Arguments |
|
||||||||||
ImageProcessingCompletedEventArgs.Results |
"dimension": Matrix dimension value. |
Example: Apply SpatialFilter command to the canvas.
var myCanvas = document.getElementById("myCanvas");
var context = myCanvas.getContext("2d");
var imageProcessing = new lt.ImageProcessing();
imageProcessing.set_jsFilePath("Scripts/Leadtools.ImageProcessing.Effects.js");
imageProcessing.set_command("SpatialFilter");
imageProcessing.get_arguments()["predefined"] = 5;//EmbossSouthWest
//setting predefined will override other arguments
//imageProcessing.get_arguments()["matrix"] = [0, 0, -1, 0, 0, 0, 1, 0, 0];
//imageProcessing.get_arguments()["divisor"] = 1;
//imageProcessing.get_arguments()["bias"] = 128;
imageProcessing.set_imageData(context.getImageData(0, 0, myCanvas.width, myCanvas.height));
imageProcessing.add_completed(function(sender, e) {
context.putImageData(e.get_imageData(), 0, 0);
alert("Filter dimension: " + e.get_results().dimension);
});
imageProcessing.run();
Applies an emboss effect to an image, letting you specify the depth and direction of the effect. Command parameters:
Member | Values |
---|---|
ImageProcessing.Command |
"Emboss" |
ImageProcessing.Arguments |
"direction": Integer that represent the direction of the apparent light source. 0 for North, 1 for NorthEast, 2 for East, 3 for SouthEast, 4 for South, 5 for SouthWest, 6 for West, 7 for NorthWest "depth": The depth value. Range is 0 to 1000. |
ImageProcessingCompletedEventArgs.Results |
Not used |
Example: Apply Emboss command to the canvas.
var myCanvas = document.getElementById("myCanvas");
var context = myCanvas.getContext("2d");
var imageProcessing = new lt.ImageProcessing();
imageProcessing.set_jsFilePath("Scripts/Leadtools.ImageProcessing.Effects.js");
imageProcessing.set_command("Emboss");
imageProcessing.get_arguments()["direction"] = 5;
imageProcessing.get_arguments()["depth"] = 500;
imageProcessing.set_imageData(context.getImageData(0, 0, myCanvas.width, myCanvas.height));
imageProcessing.add_completed(function(sender, e) {
context.putImageData(e.get_imageData(), 0, 0);
});
imageProcessing.run();
Increases or decreases the sharpness of a specific image. Command parameters:
Member | Values |
---|---|
ImageProcessing.Command |
"Sharpen" |
ImageProcessing.Arguments |
"sharpness": The sharpness value. Range is -1000 to 1000. |
ImageProcessingCompletedEventArgs.Results |
Not used |
Example: Apply Sharpen command to the canvas.
var myCanvas = document.getElementById("myCanvas");
var context = myCanvas.getContext("2d");
var imageProcessing = new lt.ImageProcessing();
imageProcessing.set_jsFilePath("Scripts/Leadtools.ImageProcessing.Effects.js");
imageProcessing.set_command("Sharpen");
imageProcessing.get_arguments()["sharpness"] = 5;
imageProcessing.set_imageData(context.getImageData(0, 0, myCanvas.width, myCanvas.height));
imageProcessing.add_completed(function(sender, e) {
context.putImageData(e.get_imageData(), 0, 0);
});
imageProcessing.run();
Imposes a binary filter on an image. Command parameters:
Member | Values |
---|---|
ImageProcessing.Command |
"BinaryFilter" |
ImageProcessing.Arguments |
"predefined": Integer that represents a predefined binary filter.
"maximum": A boolean to indicate whether the filter is maximum or not. "matrix": An array of filter coefficients. |
ImageProcessingCompletedEventArgs.Results |
"dimension": The matrix dimension value. |
Example: Apply BinaryFilter command to the canvas.
var myCanvas = document.getElementById("myCanvas");
var context = myCanvas.getContext("2d");
var imageProcessing = new lt.ImageProcessing();
imageProcessing.set_jsFilePath("Scripts/Leadtools.ImageProcessing.Effects.js");
imageProcessing.set_command("BinaryFilter");
imageProcessing.get_arguments()["predefined"] = 5;//Dilation Horizontal
//setting predefined will override other arguments
//imageProcessing.get_arguments()["matrix"] = [0, 0, -1, 0, 0, 0, 1, 0, 0];
//imageProcessing.get_arguments()["maximum"] = true;
imageProcessing.set_imageData(context.getImageData(0, 0, myCanvas.width, myCanvas.height));
imageProcessing.add_completed(function(sender, e) {
context.putImageData(e.get_imageData(), 0, 0);
alert("Filter dimension: " + e.get_results().dimension);
});
imageProcessing.run();
Increases or decreases the sharpness of a specific image. Command parameters:
Member | Values |
---|---|
ImageProcessing.Command |
"AntiAliasing" |
ImageProcessing.Arguments |
"threshold": A threshold value. Range is 0 to 255. "dimension": A dimension value. Range is 1 to infinity. "antiAliasingType": A value that indicates the type of anti-aliasing filter to use.
|
ImageProcessingCompletedEventArgs.Results |
Not used |
Example: Apply AntiAliasing command to the canvas.
var myCanvas = document.getElementById("myCanvas");
var context = myCanvas.getContext("2d");
var imageProcessing = new lt.ImageProcessing();
imageProcessing.set_jsFilePath("Scripts/Leadtools.ImageProcessing.Effects.js");
imageProcessing.set_command("AntiAliasing");
imageProcessing.get_arguments()["threshold"] = 10;
imageProcessing.get_arguments()["dimension"] = 3;
imageProcessing.get_arguments()["antiAliasingType"] = 1;
imageProcessing.set_imageData(context.getImageData(0, 0, myCanvas.width, myCanvas.height));
imageProcessing.add_completed(function(sender, e) {
context.putImageData(e.get_imageData(), 0, 0);
});
imageProcessing.run();
Updates a range of entries in the lookup table, based on the specified mathematical function. Command parameters:
Member | Values |
---|---|
ImageProcessing.Command |
"GetFunctionalLookupTable" |
ImageProcessing.Arguments |
"lookupTable": The initial lookup table array. The user must set the first and the last element of the lookup table manually. "start": The index of the first entry in the lookup table to update. "end": The index of the last entry in the lookup table to update. "factor": A Value that indicates the factor to be applied in the function operation specified in the flags parameter. "flags": A flag that indicates the function used to update the lookup table. 0 for Exponential, 1 for Logarithm, 2 for Linear, 3 for Sigmoid. |
ImageProcessingCompletedEventArgs.Results |
"lookupTable": The updated lookup table array. |
Example: Apply GetFunctionalLookupTable command to lookup table array.
var imageProcessing = new lt.ImageProcessing();
imageProcessing.set_jsFilePath("Scripts/Leadtools.ImageProcessing.Effects.js");
imageProcessing.set_command("GetFunctionalLookupTable");
imageProcessing.get_arguments()["threshold"] = 10;
imageProcessing.get_arguments()["dimension"] = 3;
imageProcessing.get_arguments()["antiAliasingType"] = 1;
imageProcessing.add_completed(function(sender, e) {
var new lookupTable = e.get_results().lookupTable;
});
imageProcessing.run();
Erodes dark objects by the specified amount. Command parameters:
Member | Values |
---|---|
ImageProcessing.Command |
"MaxFilter" |
ImageProcessing.Arguments |
"dimension": A dimension value. Range is 1 to infinity. |
ImageProcessingCompletedEventArgs.Results |
Not used |
Example: Apply MaxFilter command to the canvas.
var myCanvas = document.getElementById("myCanvas");
var context = myCanvas.getContext("2d");
var imageProcessing = new lt.ImageProcessing();
imageProcessing.set_jsFilePath("Scripts/Leadtools.ImageProcessing.Core.js");
imageProcessing.set_command("MaxFilter");
imageProcessing.get_arguments()["dimension"] = 3;
imageProcessing.set_imageData(context.getImageData(0, 0, myCanvas.width, myCanvas.height));
imageProcessing.add_completed(function(sender, e) {
context.putImageData(e.get_imageData(), 0, 0);
});
imageProcessing.run();
Dilates dark objects by the specified amount. Command parameters:
Member | Values |
---|---|
ImageProcessing.Command |
"MinFilter" |
ImageProcessing.Arguments |
"dimension": A dimension value. Range is 1 to infinity. |
ImageProcessingCompletedEventArgs.Results |
Not used |
Example: Apply MinFilter command to the canvas.
var myCanvas = document.getElementById("myCanvas");
var context = myCanvas.getContext("2d");
var imageProcessing = new lt.ImageProcessing();
imageProcessing.set_jsFilePath("Scripts/Leadtools.ImageProcessing.Core.js");
imageProcessing.set_command("MinFilter");
imageProcessing.get_arguments()["dimension"] = 3;
imageProcessing.set_imageData(context.getImageData(0, 0, myCanvas.width, myCanvas.height));
imageProcessing.add_completed(function(sender, e) {
context.putImageData(e.get_imageData(), 0, 0);
});
imageProcessing.run();
Removes speckles from an image. Typically, this command is used to clean up scanned images (such as FAX images). Command parameters:
Member | Values |
---|---|
ImageProcessing.Command |
"Despeckle" |
ImageProcessing.Arguments |
Not used |
ImageProcessingCompletedEventArgs.Results |
Not used |
Example: Apply Despeckle command to the canvas.
var myCanvas = document.getElementById("myCanvas");
var context = myCanvas.getContext("2d");
var imageProcessing = new lt.ImageProcessing();
imageProcessing.set_jsFilePath("Scripts/Leadtools.ImageProcessing.Core.js");
imageProcessing.set_command("Despeckle");
imageProcessing.set_imageData(context.getImageData(0, 0, myCanvas.width, myCanvas.height));
imageProcessing.add_completed(function(sender, e) {
context.putImageData(e.get_imageData(), 0, 0);
});
imageProcessing.run();
Applies different kinds of algorithms on images to resize them into the desired size. Command parameters:
Member | Values |
---|---|
ImageProcessing.Command |
"ResizeInterpolate" |
ImageProcessing.Arguments |
"width": The new Image width. "height": The new Image height. "type": An integer that represents the algorithm type used in resizing the image. 5 for Triangle, 6 for Hermite, 7 for Bell, 8 for QuadraticBSpline, 9 for CubicBSpline, 10 for BoxFilter, 11 for Lanczos, 12 for Michell, 13 for Cosine, 14 for Catrom, 15 for Quadratic, 16 for CubicConvolution, 17 for Bilinear = 17, 18 for Bresenham |
ImageProcessingCompletedEventArgs.Results |
"resultImage": The new Image after resize. Members are: width(new Image width), height(new Image height), and data(new Image pixel data) |
Example: Apply ResizeInterpolate command to the canvas.
var myCanvas = document.getElementById("myCanvas");
var context = myCanvas.getContext("2d");
var imageProcessing = new lt.ImageProcessing();
imageProcessing.set_jsFilePath("Scripts/Leadtools.ImageProcessing.Core.js");
imageProcessing.set_command("ResizeInterpolate");
imageProcessing.get_arguments()["width"] = 1024;
imageProcessing.get_arguments()["height"] = 1024;
imageProcessing.get_arguments()["type"] = 17;//Bilinear
imageProcessing.set_imageData(context.getImageData(0, 0, myCanvas.width, myCanvas.height));
imageProcessing.add_completed(function(sender, e) {
var resultImage = e.get_results().resultImage;
var canvas = document.createElement("canvas");
canvas.width = resultImage.width;
canvas.height = resultImage.height;
var ctx = canvas.getContext("2d");
var imgData = ctx.createImageData(canvas.width, canvas.height);
for (var i = 0; i < imgData.data.length; i += 4) {
imgData.data[i + 0] = resultImage.data[i + 0];
imgData.data[i + 1] = resultImage.data[i + 1];
imgData.data[i + 2] = resultImage.data[i + 2];
imgData.data[i + 3] = resultImage.data[i + 3];
}
ctx.putImageData(imgData, 0, 0);
var src = canvas1.toDataURL("image/png");//now we get the new image in base64 form
});
imageProcessing.run();
This file contain the following commands:
Smooths or blurs an image by applying a Gaussian filter to the specified image. Command parameters:
Member | Values |
---|---|
ImageProcessing.Command |
"GaussianFilter" |
ImageProcessing.Arguments |
"radius": The radius value. Range is 1 to infinity. |
ImageProcessingCompletedEventArgs.Results |
Not used |
Example: Apply GaussianFilter command to the canvas.
var myCanvas = document.getElementById("myCanvas");
var context = myCanvas.getContext("2d");
var imageProcessing = new lt.ImageProcessing();
imageProcessing.set_jsFilePath("Scripts/Leadtools.ImageProcessing.Effects.js");
imageProcessing.set_command("GaussianFilter");
imageProcessing.get_arguments()["radius"] = 10;
imageProcessing.set_imageData(context.getImageData(0, 0, myCanvas.width, myCanvas.height));
imageProcessing.add_completed(function(sender, e) {
context.putImageData(e.get_imageData(), 0, 0);
});
imageProcessing.run();
Sharpens the image by applying the unsharp mask. Command parameters:
Member | Values |
---|---|
ImageProcessing.Command |
"UnsharpMask" |
ImageProcessing.Arguments |
"radius": The radius value. Range is 1 to infinity. "amount": The amount value. Range is 0 to infinity. "threshold": The threshold value. Range is 0 to 255. "colorType": The colorType value. 1 for Rgb, 2 for Yuv |
ImageProcessingCompletedEventArgs.Results |
Not used |
Example: Apply UnsharpMask command to the canvas.
var myCanvas = document.getElementById("myCanvas");
var context = myCanvas.getContext("2d");
var imageProcessing = new lt.ImageProcessing();
imageProcessing.set_jsFilePath("Scripts/Leadtools.ImageProcessing.Effects.js");
imageProcessing.set_command("UnsharpMask");
imageProcessing.get_arguments()["radius"] = 3;
imageProcessing.get_arguments()["amount"] = 1000;
imageProcessing.get_arguments()["threshold"] = 128;
imageProcessing.get_arguments()["colorType"] = 2;
imageProcessing.set_imageData(context.getImageData(0, 0, myCanvas.width, myCanvas.height));
imageProcessing.add_completed(function(sender, e) {
context.putImageData(e.get_imageData(), 0, 0);
});
imageProcessing.run();
Smoothes the rough edges in the image. Command parameters:
Member | Values |
---|---|
ImageProcessing.Command |
"SmoothEdges" |
ImageProcessing.Arguments |
"amount": The amount value. Range is 0 to 100. "threshold": The threshold value. Range is 0 to 255. |
ImageProcessingCompletedEventArgs.Results |
Not used |
Example: Apply SmoothEdges command to the canvas.
var myCanvas = document.getElementById("myCanvas");
var context = myCanvas.getContext("2d");
var imageProcessing = new lt.ImageProcessing();
imageProcessing.set_jsFilePath("Scripts/Leadtools.ImageProcessing.Effects.js");
imageProcessing.set_command("SmoothEdges");
imageProcessing.get_arguments()["amount"] = 50;
imageProcessing.get_arguments()["threshold"] = 10;
imageProcessing.set_imageData(context.getImageData(0, 0, myCanvas.width, myCanvas.height));
imageProcessing.add_completed(function(sender, e) {
context.putImageData(e.get_imageData(), 0, 0);
});
imageProcessing.run();
Imposes a spatial filter on an image. Command parameters:
Member | Values |
---|---|
ImageProcessing.Command |
"SpatialFilter" |
ImageProcessing.Arguments |
"predefined": An integer representing a predefined spatial filter. "divisor": A divisor value. Range is minus infinity to infinity except 0. "bias": A bias value. Range is minus infinity to infinity. "matrix": An array of weight factors. |
ImageProcessingCompletedEventArgs.Results |
"dimension": A matrix dimension value. |
Example: Apply SpatialFilter command to the canvas.
var myCanvas = document.getElementById("myCanvas");
var context = myCanvas.getContext("2d");
var imageProcessing = new lt.ImageProcessing();
imageProcessing.set_jsFilePath("Scripts/Leadtools.ImageProcessing.Effects.js");
imageProcessing.set_command("SpatialFilter");
imageProcessing.get_arguments()["predefined"] = 5;//EmbossSouthWest
//setting predefined will override other arguments
//imageProcessing.get_arguments()["matrix"] = [0, 0, -1, 0, 0, 0, 1, 0, 0];
//imageProcessing.get_arguments()["divisor"] = 1;
//imageProcessing.get_arguments()["bias"] = 128;
imageProcessing.set_imageData(context.getImageData(0, 0, myCanvas.width, myCanvas.height));
imageProcessing.add_completed(function(sender, e) {
context.putImageData(e.get_imageData(), 0, 0);
alert("Filter dimension: " + e.get_results().dimension);
});
imageProcessing.run();
Applies an emboss effect to an image, letting you specify the depth and direction of the effect. Command parameters:
Member | Values |
---|---|
ImageProcessing.Command |
"Emboss" |
ImageProcessing.Arguments |
"direction": An integer that represents the direction of the apparent light source. "depth": A depth value. Range is 0 to 1000. |
ImageProcessingCompletedEventArgs.Results |
Not used |
Example: Apply Emboss command to the canvas.
var myCanvas = document.getElementById("myCanvas");
var context = myCanvas.getContext("2d");
var imageProcessing = new lt.ImageProcessing();
imageProcessing.set_jsFilePath("Scripts/Leadtools.ImageProcessing.Effects.js");
imageProcessing.set_command("Emboss");
imageProcessing.get_arguments()["direction"] = 5;
imageProcessing.get_arguments()["depth"] = 500;
imageProcessing.set_imageData(context.getImageData(0, 0, myCanvas.width, myCanvas.height));
imageProcessing.add_completed(function(sender, e) {
context.putImageData(e.get_imageData(), 0, 0);
});
imageProcessing.run();
Increases or decreases the sharpness of a specific image. Command parameters:
Member | Values |
---|---|
ImageProcessing.Command |
"Sharpen" |
ImageProcessing.Arguments |
"sharpness": A depth value. Range is -1000 to 1000. |
ImageProcessingCompletedEventArgs.Results |
Not used |
Example: Apply Sharpen command to the canvas.
var myCanvas = document.getElementById("myCanvas");
var context = myCanvas.getContext("2d");
var imageProcessing = new lt.ImageProcessing();
imageProcessing.set_jsFilePath("Scripts/Leadtools.ImageProcessing.Effects.js");
imageProcessing.set_command("Sharpen");
imageProcessing.get_arguments()["sharpness"] = 5;
imageProcessing.set_imageData(context.getImageData(0, 0, myCanvas.width, myCanvas.height));
imageProcessing.add_completed(function(sender, e) {
context.putImageData(e.get_imageData(), 0, 0);
});
imageProcessing.run();
Imposes a binary filter on an image. Command parameters:
Member | Values |
---|---|
ImageProcessing.Command |
"BinaryFilter" |
ImageProcessing.Arguments |
"predefined": An integer representing a predefined spatial filter. "maximum": A boolean that indicates whether the filter is maximum or not. "matrix": An array of filter coefficients. |
ImageProcessingCompletedEventArgs.Results |
"dimension": A matrix dimension value. |
Example: Apply BinaryFilter command to the canvas.
var myCanvas = document.getElementById("myCanvas");
var context = myCanvas.getContext("2d");
var imageProcessing = new lt.ImageProcessing();
imageProcessing.set_jsFilePath("Scripts/Leadtools.ImageProcessing.Effects.js");
imageProcessing.set_command("BinaryFilter");
imageProcessing.get_arguments()["predefined"] = 5;//Dilation Horizontal
//setting predefined will override other arguments
//imageProcessing.get_arguments()["matrix"] = [0, 0, -1, 0, 0, 0, 1, 0, 0];
//imageProcessing.get_arguments()["maximum"] = true;
imageProcessing.set_imageData(context.getImageData(0, 0, myCanvas.width, myCanvas.height));
imageProcessing.add_completed(function(sender, e) {
context.putImageData(e.get_imageData(), 0, 0);
alert("Filter dimension: " + e.get_results().dimension);
});
imageProcessing.run();
Increases or decreases the sharpness of a specific image. Command parameters:
Member | Values |
---|---|
ImageProcessing.Command |
"AntiAliasing" |
ImageProcessing.Arguments |
"threshold": A threshold value. Range is 0 to 255. "dimension": A dimension value. Range is 1 to infinity. "antiAliasingType": A value that indicates the type of anti-aliasing filter to use.
|
ImageProcessingCompletedEventArgs.Results |
Not used |
Example: Apply AntiAliasing command to the canvas.
var myCanvas = document.getElementById("myCanvas");
var context = myCanvas.getContext("2d");
var imageProcessing = new lt.ImageProcessing();
imageProcessing.set_jsFilePath("Scripts/Leadtools.ImageProcessing.Effects.js");
imageProcessing.set_command("AntiAliasing");
imageProcessing.get_arguments()["threshold"] = 10;
imageProcessing.get_arguments()["dimension"] = 3;
imageProcessing.get_arguments()["antiAliasingType"] = 1;
imageProcessing.set_imageData(context.getImageData(0, 0, myCanvas.width, myCanvas.height));
imageProcessing.add_completed(function(sender, e) {
context.putImageData(e.get_imageData(), 0, 0);
});
imageProcessing.run();
Updates a range of entries in the lookup table, based on the specified mathematical function. Command parameters:
Member | Values |
---|---|
ImageProcessing.Command |
"GetFunctionalLookupTable" |
ImageProcessing.Arguments |
"lookupTable": The initial lookup table array. The user must set the first and the last element of the lookup table manually. "start": The index of the first entry in the lookup table to update. "end": The index of the last entry in the lookup table to update. "factor": A value that indicates the factor to be applied in the function operation specified in the flags parameter. "flags": Flags that indicate the function used to update the lookup table. 0 for Exponential, 1 for Logarithm, 2 for Linear, 3 for Sigmoid. |
ImageProcessingCompletedEventArgs.Results |
"lookupTable": The updated lookup table array. |
Example: Apply GetFunctionalLookupTable command to lookup table array.
var imageProcessing = new lt.ImageProcessing();
imageProcessing.set_jsFilePath("Scripts/Leadtools.ImageProcessing.Effects.js");
imageProcessing.set_command("GetFunctionalLookupTable");
imageProcessing.get_arguments()["threshold"] = 10;
imageProcessing.get_arguments()["dimension"] = 3;
imageProcessing.get_arguments()["antiAliasingType"] = 1;
imageProcessing.add_completed(function(sender, e) {
var new lookupTable = e.get_results().lookupTable;
});
imageProcessing.run();