PublicSub ColorLevelCommandDataExample()
Dim codecs AsNew RasterCodecs()
codecs.ThrowExceptionsOnInvalidImages = TrueDim leadImage As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Master.jpg"))
' Prepare the command
Dim blue As ColorLevelCommandData = New ColorLevelCommandData
Dim master As ColorLevelCommandData = New ColorLevelCommandData
'Specify Image levels
blue.MinimumInput = 20
blue.MaximumInput = 200
blue.MinimumOutput = 0
blue.MaximumOutput = 255
blue.Gamma = 100
' Master will cause the image to be Inversed
master.MinimumInput = 0
master.MaximumInput = 255
master.MinimumOutput = 255
master.MaximumOutput = 0
master.Gamma = 100
' Level the Blue and Master channels
DimcommandAs ColorLevelCommand = New ColorLevelCommand(master, Nothing, Nothing, blue, ColorLevelCommandFlags.Blue Or ColorLevelCommandFlags.Master)
command.Run(leadImage)
codecs.Save(leadImage, Path.Combine(LEAD_VARS.ImagesDir, "Result.jpg"), RasterImageFormat.Jpeg, 24)
End SubPublicNotInheritableClass LEAD_VARS
PublicConst ImagesDir AsString = "C:\Users\Public\Documents\LEADTOOLS Images"End Class
publicvoid ColorLevelCommandDataExample()
{
// Load an image
RasterCodecs codecs = new RasterCodecs();
codecs.ThrowExceptionsOnInvalidImages = true;
RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Master.jpg"));
// Prepare the command
ColorLevelCommandData blue = new ColorLevelCommandData();
ColorLevelCommandData master = new ColorLevelCommandData();
//Specify Image levels
blue.MinimumInput = 20;
blue.MaximumInput = 200;
blue.MinimumOutput = 0;
blue.MaximumOutput = 255;
blue.Gamma = 100;
// Master will cause the image to be Inversed
master.MinimumInput = 0;
master.MaximumInput = 255;
master.MinimumOutput = 255;
master.MaximumOutput = 0;
master.Gamma = 100;
// Level the Blue and Master channels
ColorLevelCommand command = new ColorLevelCommand(master, null, null, blue, ColorLevelCommandFlags.Blue | ColorLevelCommandFlags.Master);
command.Run(image);
codecs.Save(image, Path.Combine(LEAD_VARS.ImagesDir, "Result.jpg"), RasterImageFormat.Jpeg, 24);
}
staticclass LEAD_VARS
{
publicconststring ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
[TestMethod]
public async Task ColorLevelCommandDataExample()
{
// Load an image
RasterCodecs codecs = new RasterCodecs();
codecs.ThrowExceptionsOnInvalidImages = true;
// Load the image
string srcFileName = @"Assets\Image1.cmp";
StorageFile loadFile = await Tools.AppInstallFolder.GetFileAsync(srcFileName);
RasterImage image = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile));
// Prepare the command
ColorLevelCommandData blue = new ColorLevelCommandData();
ColorLevelCommandData master = new ColorLevelCommandData();
//Specify Image levels
blue.MinimumInput = 20;
blue.MaximumInput = 200;
blue.MinimumOutput = 0;
blue.MaximumOutput = 255;
blue.Gamma = 100;
// Master will cause the image to be Inversed
master.MinimumInput = 0;
master.MaximumInput = 255;
master.MinimumOutput = 255;
master.MaximumOutput = 0;
master.Gamma = 100;
// Level the Blue and Master channels
ColorLevelCommand command = new ColorLevelCommand(master, null, null, blue, ColorLevelCommandFlags.Blue | ColorLevelCommandFlags.Master);
command.Run(image);
string destFileName = @"result.jpg";
StorageFile saveFile = await Tools.AppLocalFolder.CreateFileAsync(destFileName);
await codecs.SaveAsync(image, LeadStreamFactory.Create(saveFile), RasterImageFormat.Jpeg, 0);
}
publicvoid ColorLevelCommandDataExample(RasterImage image, Stream outStream)
{
// Prepare the command
ColorLevelCommandData blue = new ColorLevelCommandData();
ColorLevelCommandData master = new ColorLevelCommandData();
//Specify Image levels
blue.MinimumInput = 20;
blue.MaximumInput = 200;
blue.MinimumOutput = 0;
blue.MaximumOutput = 255;
blue.Gamma = 100;
// Master will cause the image to be Inversed
master.MinimumInput = 0;
master.MaximumInput = 255;
master.MinimumOutput = 255;
master.MaximumOutput = 0;
master.Gamma = 100;
// Level the Blue and Master channels
ColorLevelCommand command = new ColorLevelCommand(master, null, null, blue, ColorLevelCommandFlags.Blue | ColorLevelCommandFlags.Master);
command.Run(image);
// Save result image
RasterCodecs codecs = new RasterCodecs();
codecs.Save(image, outStream, RasterImageFormat.Jpeg, 24);
image.Dispose();
}
Public Sub ColorLevelCommandDataExample(ByVal image As RasterImage, ByVal outStream As Stream)
' Prepare the command
Dim blue As ColorLevelCommandData = New ColorLevelCommandData()
Dim master As ColorLevelCommandData = New ColorLevelCommandData()
'Specify Image levels
blue.MinimumInput = 20
blue.MaximumInput = 200
blue.MinimumOutput = 0
blue.MaximumOutput = 255
blue.Gamma = 100
' Master will cause the image to be Inversed
master.MinimumInput = 0
master.MaximumInput = 255
master.MinimumOutput = 255
master.MaximumOutput = 0
master.Gamma = 100
' Level the Blue and Master channels
Dim command As ColorLevelCommand = New ColorLevelCommand(master, Nothing, Nothing, blue, ColorLevelCommandFlags.Blue Or ColorLevelCommandFlags.Master)
command.Run(image)
' Save result image
Dim codecs As RasterCodecs = New RasterCodecs()
codecs.Save(image, outStream, RasterImageFormat.Jpeg, 24)
image.Dispose()
End Sub
Requirements
Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2