Leadtools.ImageOptimization Namespace : ImageOptimizerDirectoryData Class |
public class ImageOptimizerDirectoryData
'Declaration Public Class ImageOptimizerDirectoryData
'Usage Dim instance As ImageOptimizerDirectoryData
public sealed class ImageOptimizerDirectoryData
function Leadtools.ImageOptimization.ImageOptimizerDirectoryData()
public ref class ImageOptimizerDirectoryData
Private _imageNo As Integer Public Sub TestDirImageOptimizer() _imageNo = 0 ' Initialize the RasterCodecs class Dim codecs As RasterCodecs = New RasterCodecs() ' The input and output directories Dim inputDirectory As String = LEAD_VARS.ImagesDir Dim outputDirectory As String = Path.Combine(LEAD_VARS.ImagesDir, "OptimizedImages") ' Initialize a new Optimizer object Dim optimizer As ImageOptimizer = New ImageOptimizer() ' Optimization Options Dim options As ImageOptimizerOptions = ImageOptimizerOptions.Default optimizer.OptimizeDirectory(codecs, _ inputDirectory, _ outputDirectory, _ options, _ "*.jpg", _ False, _ AddressOf ImageOptimizerDirectory) 'shutdown the RasterCodecs class. End Sub Public Function ImageOptimizerDirectory(ByVal data As ImageOptimizerDirectoryData) As Boolean Console.WriteLine(String.Format("File Percent = {0}%, Total Percent = {1}%", data.FilePercent, data.TotalPercent)) If (_imageNo = data.TotalFolderFilesCount) Then ' Operation Done. Console.WriteLine("Optimization Operation Completed Successfully") Return True ElseIf (data.Status = ImageOptimizerDirectoryStatus.PreOptimizingImage) Then Dim text As String = String.Format("Optimizing Image {0} ?\n", data.InputFileName) Dim result As DialogResult = MessageBox.Show(text, "", MessageBoxButtons.YesNoCancel) If (result = DialogResult.Yes) Then ' Optimize the image using the default options. data.Options = ImageOptimizerOptions.Default Return True ElseIf (result = DialogResult.No) Then ' Skip this image. _imageNo += 1 data.SkipImage = True Else ' Stop the whole operation. Return False End If ElseIf (data.FilePercent = 100) Then _imageNo += 1 ' Displaying information about the optimized image. Dim msg As String = String.Format("Optimizing File ( {0} of {1} ) \n" + _ "--------------------------------\n" + _ "Source File Name = {2}\n" + _ "Detination File Name = {3}\n" + _ "No of Pages = {4}\n", _ _imageNo, data.TotalFolderFilesCount, data.InputFileName, data.OutputFileName, data.ImageInfo.TotalPages) Console.WriteLine(msg) End If Return True End Function Public NotInheritable Class LEAD_VARS Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" End Class
int _imageNo; public void TestDirImageOptimizer( ) { _imageNo = 0; // Initialize the RasterCodecs class RasterCodecs codecs = new RasterCodecs(); // The input and output directories string inputDirectory = LEAD_VARS.ImagesDir; string outputDirectory = Path.Combine(LEAD_VARS.ImagesDir, "OptimizedImages"); // Initialize a new Optimizer object ImageOptimizer optimizer = new ImageOptimizer(); // Optimization Options ImageOptimizerOptions options = ImageOptimizerOptions.Default; optimizer.OptimizeDirectory(codecs, inputDirectory, outputDirectory, options, "*.jpg", false, ImageOptimizerDirectory); //shutdown the RasterCodecs class. } bool ImageOptimizerDirectory(ImageOptimizerDirectoryData data) { Console.WriteLine(string.Format("File Percent = {0}%, Total Percent = {1}%", data.FilePercent, data.TotalPercent)); if(_imageNo == data.TotalFolderFilesCount) { // Operation Done. Console.WriteLine("Optimization Operation Completed Successfully"); return true; } else if(data.Status == ImageOptimizerDirectoryStatus.PreOptimizingImage) { string text = string.Format("Optimizing Image {0} ?\n", data.InputFileName); DialogResult result = MessageBox.Show(text, "", MessageBoxButtons.YesNoCancel); if(result == DialogResult.Yes) { // Optimize the image using the default options. data.Options = ImageOptimizerOptions.Default; return true; } else if(result == DialogResult.No) { // Skip this image. _imageNo++; data.SkipImage = true; } else // Stop the whole operation. return false; } else if(data.FilePercent == 100) { _imageNo++; // Displaying information about the optimized image. string msg = string.Format("Optimizing File ( {0} of {1} ) \n" + "--------------------------------\n" + "Source File Name = {2}\n" + "Detination File Name = {3}\n" + "No of Pages = {4}\n", _imageNo, data.TotalFolderFilesCount, data.InputFileName, data.OutputFileName, data.ImageInfo.TotalPages); Console.WriteLine(msg); } return true; } static class LEAD_VARS { public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; }
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