Leadtools.Codecs Send comments on this topic. | Back to Introduction - All Topics | Help Version 16.5.9.25
PreloadCodecs Method
See Also  Example
Leadtools.Codecs Namespace > RasterCodecs Class : PreloadCodecs Method



fixedCodecs
Number of codecs that should stay loaded in memory at all times.
cachedCodecs
Number of codecs that should be loaded, but can be unloaded later to make room for other codecs.
codecs
A String containing the codecs which should be loaded.
Specifies the file format codecs to be loaded.

Syntax

Visual Basic (Declaration) 
Public Sub PreloadCodecs( _
   ByVal fixedCodecs As Integer, _
   ByVal cachedCodecs As Integer, _
   ByVal codecs As String _
) 
Visual Basic (Usage)Copy Code
Dim instance As RasterCodecs
Dim fixedCodecs As Integer
Dim cachedCodecs As Integer
Dim codecs As String
 
instance.PreloadCodecs(fixedCodecs, cachedCodecs, codecs)
C# 
public void PreloadCodecs( 
   int fixedCodecs,
   int cachedCodecs,
   string codecs
)
C++/CLI 
public:
void PreloadCodecs( 
   int fixedCodecs,
   int cachedCodecs,
   String^ codecs
) 

Parameters

fixedCodecs
Number of codecs that should stay loaded in memory at all times.
cachedCodecs
Number of codecs that should be loaded, but can be unloaded later to make room for other codecs.
codecs
A String containing the codecs which should be loaded.

Example

This example preloads the j2k filter and ignores the cmp filter.

Visual BasicCopy Code
Public Sub PreloadCodecsExample()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()

   Dim srcFileName1 As String = LeadtoolsExamples.Common.ImagesPath.Path + "Image1.j2k"
   Dim srcFileName2 As String = LeadtoolsExamples.Common.ImagesPath.Path + "Image1.cmp"

   ' display the original values before changing them
   Console.WriteLine("PreloadCodecList - {0}", codecs.PreloadCodecsList)
   Console.WriteLine("FixedPreloadCodecs - {0}", codecs.FixedPreloadCodecs)
   Console.WriteLine("CachedPreloadCodecs - {0}", codecs.CachedPreloadCodecs)
   Console.WriteLine("IgnoreCodecList - {0}", codecs.IgnoreCodecsList)

   ' preload only the j2k filter and ignore the cmp filter
   codecs.PreloadCodecs(1, 1, "j2k")
   codecs.IgnoreCodecs("cmp")

   ' try to get info on a j2k image
   Dim info As CodecsImageInfo = codecs.GetInformation(srcFileName1, False)
   Console.WriteLine("j2k - Width: {0}, Height {1}", info.Width, info.Height)

   ' try to get info on a cmp image
   Try
      info = codecs.GetInformation(srcFileName2, False)
   Catch
      Console.WriteLine("GetInformation for cmp failed - sample success!")
   End Try

   ' Clean up
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub
C#Copy Code
public void PreloadCodecsExample() 

   RasterCodecs.Startup(); 
   RasterCodecs codecs = new RasterCodecs(); 
 
   string srcFileName1 = LeadtoolsExamples.Common.ImagesPath.Path + "Image1.j2k"; 
   string srcFileName2 = LeadtoolsExamples.Common.ImagesPath.Path + "Image1.cmp"; 
 
   // display the original values before changing them 
   Console.WriteLine("PreloadCodecList - {0}", codecs.PreloadCodecsList); 
   Console.WriteLine("FixedPreloadCodecs - {0}", codecs.FixedPreloadCodecs); 
   Console.WriteLine("CachedPreloadCodecs - {0}", codecs.CachedPreloadCodecs); 
   Console.WriteLine("IgnoreCodecList - {0}", codecs.IgnoreCodecsList); 
 
   // preload only the j2k filter and ignore the cmp filter 
   codecs.PreloadCodecs(1, 1, "j2k"); 
   codecs.IgnoreCodecs("cmp"); 
 
   // try to get info on a j2k image 
   CodecsImageInfo info = codecs.GetInformation(srcFileName1, false); 
   Console.WriteLine("j2k - Width: {0}, Height {1}", info.Width, info.Height); 
 
   // try to get info on a cmp image 
   try 
   { 
      info = codecs.GetInformation(srcFileName2, false); 
   } 
   catch 
   { 
      Console.WriteLine("GetInformation for cmp failed - sample success!"); 
   } 
 
   // Clean up 
   codecs.Dispose(); 
   RasterCodecs.Shutdown(); 
}

Remarks

If codecs is empty, all file codecs LEADTOOLS can find will be loaded and LEADTOOLS will determine the order in which the files will be used.

codecs is in the form xyz, yuv ... where Xyz are the 3 letters describing the file codec as in Leadtools.Codecs.Xyz.dll. For instance, if codecs is BMP,TIF,CMP then the following codecs will be loaded in the following order:

  1. Leadtools.Codecs.Bmp.dll
  2. Leadtools.Codecs.Tif.dll
  3. Leadtools.Codecs.Cmp.dll

The first fixedCodecs will stay in memory at all times, then the next cachedCodecs will be loaded. However, if other codecs will be needed, the cached codecs might be unloaded to make room for the new DLLs.

It is recommended that the most commonly used DLLs be loaded as fixed to minimize the time required to load/unload file codecs. Also, some DLLs may require additional DLLs (like the Leadtools.Codecs.Pdf.dll or Leadtools.Codecs.Tif.dll) so the exact number of DLLs loaded is not necessarily equal fixedCodecs + cachedCodecs.

Before calling this method, you can get the default preload codecs list using PreloadCodecsList.

Requirements

Target Platforms: Microsoft .NET Framework 3.0, Windows XP, Windows Server 2003 family, Windows Server 2008 family

See Also