ImageOptimizerOptions Structure (original) (raw)

Syntax

public struct ImageOptimizerOptions 
public value class ImageOptimizerOptions : public System.ValueType  
class ImageOptimizerOptions: 

Example

using Leadtools; using Leadtools.Codecs; using Leadtools.ImageOptimization; public void TestJpegImageOptimizer() { // Initialize the RasterCodecs class RasterCodecs codecs = new RasterCodecs(); // The input and output location string inputFileName = Path.Combine(LEAD_VARS.ImagesDir, "Cannon.jpg"); string outputFolder = Path.Combine(LEAD_VARS.ImagesDir, "OptimizedImages"); // Initialize a new Optimizer object ImageOptimizer optimizer = new ImageOptimizer(); // Optimization Options ImageOptimizerOptions options = ImageOptimizerOptions.Default; // Set custom optimization options options.JpegQualityFactor = 255; options.JpegColorSpace = ImageOptimizerJpegColorSpace.JpegColorSpace422; // Load the input file into a memory byte array byte[] orgBuffer = File.ReadAllBytes(inputFileName); // Optimize this buffer byte[] optBuffer = optimizer.OptimizeBuffer(codecs, orgBuffer, 0, orgBuffer.Length, options, OptimizeBufferProgress); // Save this image into the output folder // Make sure the output folder exists if (!Directory.Exists(outputFolder)) Directory.CreateDirectory(outputFolder); // Get the name of the output file from the input file string outputFileName = Path.Combine(outputFolder, Path.GetFileName(inputFileName)); // Save the optimized buffer to the output file using (FileStream fs = File.Create(outputFileName)) fs.Write(optBuffer, 0, optBuffer.Length); // Compare the original image size with the optimized size long orgSize = new FileInfo(inputFileName).Length; long optSize = new FileInfo(outputFileName).Length; int percentage = (int)((double)optSize * 100.0 / orgSize); string message = string.Format( "Original image size: {0} KB{1}Optimized image size: {2} KB{1}Percentage: {3}%", orgSize / 1024, Environment.NewLine, optSize / 1024, 100 - percentage); MessageBox.Show(message); //shutdown the RasterCodecs class. } static bool OptimizeBufferProgress(int percent) { Console.WriteLine(string.Format("{0}%", percent)); return true; } static class LEAD_VARS { public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images"; }