LEADTOOLS Image File Support (Leadtools.Codecs assembly) Send comments on this topic. | Back to Introduction - All Topics | Help Version 17.0.3.29
CodecsJpegOptions Class
See Also  Members  
Leadtools.Codecs Namespace : CodecsJpegOptions Class



Provides extra options for loading and saving JPEG and LEAD CMP images.

Object Model

CodecsJpegOptions ClassCodecsJpegLoadOptions ClassCodecsJpegSaveOptions Class

Syntax

Visual Basic (Declaration) 
Public Class CodecsJpegOptions 
Visual Basic (Usage)Copy Code
Dim instance As CodecsJpegOptions
C# 
public class CodecsJpegOptions 
C++/CLI 
public ref class CodecsJpegOptions 

Example

Visual BasicCopy Code
Public Sub CodecsJpegOptionsExample()
      Dim codecs As RasterCodecs = New RasterCodecs()

      Dim srcFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Slave.jpg")

      ' Get all Information about the Jpeg file that you want to load.
      Dim imageInfo As CodecsImageInfo = codecs.GetInformation(srcFileName, True)

      'Setting Jpeg Load options.
      codecs.Options.Jpeg.Load.DisableMmx = False
      codecs.Options.Jpeg.Load.DisableP3 = False
      codecs.Options.Jpeg.Load.ForceCieLab = True
      codecs.Options.Jpeg.Load.ForceRgbFile = False
      codecs.Options.Jpeg.Load.UseBadJpegPredictor = False

      Dim srcImage As RasterImage = codecs.Load(srcFileName)

      'if the image has stamp then set the Jpeg settings related to the stamp.
      If imageInfo.Jpeg.HasStamp Then
         codecs.Options.Jpeg.Save.FixedPaletteStamp = True
         codecs.Options.Jpeg.Save.JpegStamp = True
         codecs.Options.Jpeg.Save.SaveWithoutTimestamp = False
         codecs.Options.Jpeg.Save.SaveWithStamp = True
         codecs.Options.Jpeg.Save.StampBitsPerPixel = srcImage.BitsPerPixel
         codecs.Options.Jpeg.Save.StampHeight = 100
         codecs.Options.Jpeg.Save.StampWidth = 100
         codecs.Options.Jpeg.Save.YccStamp = False
      End If

      If imageInfo.Jpeg.IsLossless Then
         Console.WriteLine("This is a lossless Jpeg Image")
      Else
         Console.WriteLine("This is not a lossless Jpeg Image")
      End If

      If imageInfo.Jpeg.IsProgressive Then
         codecs.Options.Jpeg.Save.Passes = 0
      End If

      codecs.Options.Jpeg.Save.CmpQualityFactorPredefined = CodecsCmpQualityFactorPredefined.Custom
      codecs.Options.Jpeg.Save.DisableMmx = True
      codecs.Options.Jpeg.Save.DisableP3 = True
      codecs.Options.Jpeg.Save.QualityFactor = 2
      codecs.Options.Jpeg.Save.SaveOldJtif = True

      codecs.Save(srcImage, Path.Combine(LEAD_VARS.ImagesDir, "jpeg1.jpg"), RasterImageFormat.Jpeg, srcImage.BitsPerPixel)

      codecs.Options.Jpeg.Save.FixedPaletteStamp = False
      codecs.Options.Jpeg.Save.JpegStamp = True
      codecs.Options.Jpeg.Save.SaveWithoutTimestamp = True
      codecs.Options.Jpeg.Save.SaveWithStamp = True
      codecs.Options.Jpeg.Save.StampBitsPerPixel = srcImage.BitsPerPixel
      codecs.Options.Jpeg.Save.StampHeight = 75
      codecs.Options.Jpeg.Save.StampWidth = 50
      codecs.Options.Jpeg.Save.YccStamp = True
      codecs.Options.Jpeg.Save.CmpQualityFactorPredefined = CodecsCmpQualityFactorPredefined.MaximumQuality
      codecs.Options.Jpeg.Save.DisableMmx = False
      codecs.Options.Jpeg.Save.DisableP3 = False
      codecs.Options.Jpeg.Save.SaveOldJtif = False

      codecs.Save(srcImage, Path.Combine(LEAD_VARS.ImagesDir, "jpeg2.jpg"), RasterImageFormat.Jpeg, srcImage.BitsPerPixel)

      ' Clean up
      srcImage.Dispose()
      codecs.Dispose()
   End Sub

Public NotInheritable Class LEAD_VARS
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
C#Copy Code
public void CodecsJpegOptionsExample()
   {
      RasterCodecs codecs = new RasterCodecs();

      string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "cannon.jpg");

      // Get all Information about the Jpeg file that you want to load.
      CodecsImageInfo imageInfo = codecs.GetInformation(srcFileName, true);

      //Setting Jpeg Load options.
      codecs.Options.Jpeg.Load.DisableMmx = false;
      codecs.Options.Jpeg.Load.DisableP3 = false;
      codecs.Options.Jpeg.Load.ForceCieLab = true;
      codecs.Options.Jpeg.Load.ForceRgbFile = false;
      codecs.Options.Jpeg.Load.UseBadJpegPredictor = false;

      RasterImage srcImage = codecs.Load(srcFileName);

      //if the image has stamp then set the Jpeg settings related to the stamp.
      if (imageInfo.Jpeg.HasStamp)
      {
         codecs.Options.Jpeg.Save.FixedPaletteStamp = true;
         codecs.Options.Jpeg.Save.JpegStamp = true;
         codecs.Options.Jpeg.Save.SaveWithoutTimestamp = false;
         codecs.Options.Jpeg.Save.SaveWithStamp = true;
         codecs.Options.Jpeg.Save.StampBitsPerPixel = srcImage.BitsPerPixel;
         codecs.Options.Jpeg.Save.StampHeight = 100;
         codecs.Options.Jpeg.Save.StampWidth = 100;
         codecs.Options.Jpeg.Save.YccStamp = false;
      }

      if (imageInfo.Jpeg.IsLossless)
         Console.WriteLine("This is a lossless Jpeg Image");
      else
         Console.WriteLine("This is not a lossless Jpeg Image");

      if (imageInfo.Jpeg.IsProgressive)
         codecs.Options.Jpeg.Save.Passes = 0;

      codecs.Options.Jpeg.Save.CmpQualityFactorPredefined = CodecsCmpQualityFactorPredefined.Custom;
      codecs.Options.Jpeg.Save.DisableMmx = true;
      codecs.Options.Jpeg.Save.DisableP3 = true;
      codecs.Options.Jpeg.Save.QualityFactor = 2;
      codecs.Options.Jpeg.Save.SaveOldJtif = true;

      codecs.Save(srcImage,  Path.Combine(LEAD_VARS.ImagesDir, "jpeg1.jpg"), RasterImageFormat.Jpeg, srcImage.BitsPerPixel);

      codecs.Options.Jpeg.Save.FixedPaletteStamp = false;
      codecs.Options.Jpeg.Save.JpegStamp = true;
      codecs.Options.Jpeg.Save.SaveWithoutTimestamp = true;
      codecs.Options.Jpeg.Save.SaveWithStamp = true;
      codecs.Options.Jpeg.Save.StampBitsPerPixel = srcImage.BitsPerPixel;
      codecs.Options.Jpeg.Save.StampHeight = 75;
      codecs.Options.Jpeg.Save.StampWidth = 50;
      codecs.Options.Jpeg.Save.YccStamp = true;
      codecs.Options.Jpeg.Save.CmpQualityFactorPredefined = CodecsCmpQualityFactorPredefined.MaximumQuality;
      codecs.Options.Jpeg.Save.DisableMmx = false;
      codecs.Options.Jpeg.Save.DisableP3 = false;
      codecs.Options.Jpeg.Save.SaveOldJtif = false;

      codecs.Save(srcImage,  Path.Combine(LEAD_VARS.ImagesDir, "jpeg2.jpg"), RasterImageFormat.Jpeg, srcImage.BitsPerPixel);

      // Clean up
      srcImage.Dispose();
      codecs.Dispose();
   }

static class LEAD_VARS
{
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
SilverlightCSharpCopy Code
public void CodecsJpegOptionsExample(Stream inStream, Stream outStreamJpeg1, Stream outStreamJpeg2)
{
   RasterCodecs codecs = new RasterCodecs();
   // Get all Information about the Jpeg file that you want to load.
   CodecsImageInfo imageInfo = codecs.GetInformation(inStream, true);

   //Setting Jpeg Load options.
   codecs.Options.Jpeg.Load.DisableMmx = false;
   codecs.Options.Jpeg.Load.DisableP3 = false;
   codecs.Options.Jpeg.Load.ForceCieLab = true;
   codecs.Options.Jpeg.Load.ForceRgbFile = false;
   codecs.Options.Jpeg.Load.UseBadJpegPredictor = false;

   RasterImage srcImage = codecs.Load(inStream);

   //if the image has stamp then set the Jpeg settings related to the stamp.
   if (imageInfo.Jpeg.HasStamp)
   {
      codecs.Options.Jpeg.Save.FixedPaletteStamp = true;
      codecs.Options.Jpeg.Save.JpegStamp = true;
      codecs.Options.Jpeg.Save.SaveWithoutTimestamp = false;
      codecs.Options.Jpeg.Save.SaveWithStamp = true;
      codecs.Options.Jpeg.Save.StampBitsPerPixel = srcImage.BitsPerPixel;
      codecs.Options.Jpeg.Save.StampHeight = 100;
      codecs.Options.Jpeg.Save.StampWidth = 100;
      codecs.Options.Jpeg.Save.YccStamp = false;
   }

   if (imageInfo.Jpeg.IsLossless)
      Console.WriteLine("This is a lossless Jpeg Image");
   else
      Console.WriteLine("This is not a lossless Jpeg Image");

   if (imageInfo.Jpeg.IsProgressive)
      codecs.Options.Jpeg.Save.Passes = 0;

   codecs.Options.Jpeg.Save.CmpQualityFactorPredefined = CodecsCmpQualityFactorPredefined.Custom;
   codecs.Options.Jpeg.Save.DisableMmx = true;
   codecs.Options.Jpeg.Save.DisableP3 = true;
   codecs.Options.Jpeg.Save.QualityFactor = 2;
   codecs.Options.Jpeg.Save.SaveOldJtif = true;

   codecs.Save(srcImage, outStreamJpeg1, RasterImageFormat.Jpeg, srcImage.BitsPerPixel);

   codecs.Options.Jpeg.Save.FixedPaletteStamp = false;
   codecs.Options.Jpeg.Save.JpegStamp = true;
   codecs.Options.Jpeg.Save.SaveWithoutTimestamp = true;
   codecs.Options.Jpeg.Save.SaveWithStamp = true;
   codecs.Options.Jpeg.Save.StampBitsPerPixel = srcImage.BitsPerPixel;
   codecs.Options.Jpeg.Save.StampHeight = 75;
   codecs.Options.Jpeg.Save.StampWidth = 50;
   codecs.Options.Jpeg.Save.YccStamp = true;
   codecs.Options.Jpeg.Save.CmpQualityFactorPredefined = CodecsCmpQualityFactorPredefined.MaximumQuality;
   codecs.Options.Jpeg.Save.DisableMmx = false;
   codecs.Options.Jpeg.Save.DisableP3 = false;
   codecs.Options.Jpeg.Save.SaveOldJtif = false;

   codecs.Save(srcImage, outStreamJpeg2, RasterImageFormat.Jpeg, srcImage.BitsPerPixel);

   // Clean up
   srcImage.Dispose();
}
SilverlightVBCopy Code
Public Sub CodecsJpegOptionsExample(ByVal inStream As Stream, ByVal outStreamJpeg1 As Stream, ByVal outStreamJpeg2 As Stream)
   Dim codecs As RasterCodecs = New RasterCodecs()
   ' Get all Information about the Jpeg file that you want to load.
   Dim imageInfo As CodecsImageInfo = codecs.GetInformation(inStream, True)

   'Setting Jpeg Load options.
   codecs.Options.Jpeg.Load.DisableMmx = False
   codecs.Options.Jpeg.Load.DisableP3 = False
   codecs.Options.Jpeg.Load.ForceCieLab = True
   codecs.Options.Jpeg.Load.ForceRgbFile = False
   codecs.Options.Jpeg.Load.UseBadJpegPredictor = False

   Dim srcImage As RasterImage = codecs.Load(inStream)

   'if the image has stamp then set the Jpeg settings related to the stamp.
   If imageInfo.Jpeg.HasStamp Then
      codecs.Options.Jpeg.Save.FixedPaletteStamp = True
      codecs.Options.Jpeg.Save.JpegStamp = True
      codecs.Options.Jpeg.Save.SaveWithoutTimestamp = False
      codecs.Options.Jpeg.Save.SaveWithStamp = True
      codecs.Options.Jpeg.Save.StampBitsPerPixel = srcImage.BitsPerPixel
      codecs.Options.Jpeg.Save.StampHeight = 100
      codecs.Options.Jpeg.Save.StampWidth = 100
      codecs.Options.Jpeg.Save.YccStamp = False
   End If

   If imageInfo.Jpeg.IsLossless Then
      Console.WriteLine("This is a lossless Jpeg Image")
   Else
      Console.WriteLine("This is not a lossless Jpeg Image")
   End If

   If imageInfo.Jpeg.IsProgressive Then
      codecs.Options.Jpeg.Save.Passes = 0
   End If

   codecs.Options.Jpeg.Save.CmpQualityFactorPredefined = CodecsCmpQualityFactorPredefined.Custom
   codecs.Options.Jpeg.Save.DisableMmx = True
   codecs.Options.Jpeg.Save.DisableP3 = True
   codecs.Options.Jpeg.Save.QualityFactor = 2
   codecs.Options.Jpeg.Save.SaveOldJtif = True

   codecs.Save(srcImage, outStreamJpeg1, RasterImageFormat.Jpeg, srcImage.BitsPerPixel)

   codecs.Options.Jpeg.Save.FixedPaletteStamp = False
   codecs.Options.Jpeg.Save.JpegStamp = True
   codecs.Options.Jpeg.Save.SaveWithoutTimestamp = True
   codecs.Options.Jpeg.Save.SaveWithStamp = True
   codecs.Options.Jpeg.Save.StampBitsPerPixel = srcImage.BitsPerPixel
   codecs.Options.Jpeg.Save.StampHeight = 75
   codecs.Options.Jpeg.Save.StampWidth = 50
   codecs.Options.Jpeg.Save.YccStamp = True
   codecs.Options.Jpeg.Save.CmpQualityFactorPredefined = CodecsCmpQualityFactorPredefined.MaximumQuality
   codecs.Options.Jpeg.Save.DisableMmx = False
   codecs.Options.Jpeg.Save.DisableP3 = False
   codecs.Options.Jpeg.Save.SaveOldJtif = False

   codecs.Save(srcImage, outStreamJpeg2, RasterImageFormat.Jpeg, srcImage.BitsPerPixel)

   ' Clean up
   srcImage.Dispose()
End Sub

Inheritance Hierarchy

System.Object
   Leadtools.Codecs.CodecsJpegOptions

Requirements

Target Platforms: Silverlight, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7, MAC OS/X (Intel Only)

See Also