Leadtools.Codecs Send comments on this topic. | Back to Introduction - All Topics | Help Version 15.12.17
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
)
Managed Extensions for 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

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

         Dim srcFileName1 As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.j2k"
         Dim srcFileName2 As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\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
RasterCodecs.PreloadCodecs 
      public void PreloadCodecsExample() 
      { 
         RasterCodecs.Startup(); 
         RasterCodecs codecs = new RasterCodecs(); 
 
         string srcFileName1 = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Image1.j2k"; 
         string srcFileName2 = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\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 2.0, Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family

See Also