←Select platform

PreloadCodecs Method

Summary
Specifies the file format codecs to be loaded.
Syntax
C#
C++/CLI
Java
Python
public void PreloadCodecs( 
   int fixedCodecs, 
   int cachedCodecs, 
   string codecs 
) 
public void preloadCodecs(int fixedCodecs, int cachedCodecs, String codecs) 
public: 
void PreloadCodecs(  
   int fixedCodecs, 
   int cachedCodecs, 
   String^ codecs 
)  
def PreloadCodecs(self,fixedCodecs,cachedCodecs,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.

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.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.

Example

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

C#
Java
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing; 
using Leadtools.ImageProcessing.Color; 
using Leadtools.Svg; 
 
 
public void PreloadCodecsExample() 
{ 
   RasterCodecs codecs = new RasterCodecs(); 
 
   string srcFileName1 = Path.Combine(LEAD_VARS.ImagesDir, "Image1.j2k"); 
   string srcFileName2 = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp"); 
 
   // display the original values before changing them 
   Debug.WriteLine("PreloadCodecList - {0}", codecs.PreloadCodecsList); 
   Debug.WriteLine("FixedPreloadCodecs - {0}", codecs.FixedPreloadCodecs); 
   Debug.WriteLine("CachedPreloadCodecs - {0}", codecs.CachedPreloadCodecs); 
   Debug.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); 
   Debug.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 
   { 
      Debug.WriteLine("GetInformation for cmp failed - sample success!"); 
   } 
 
   // Clean up 
   codecs.Dispose(); 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images"; 
} 
 
import java.io.*; 
import java.net.*; 
import java.nio.file.Paths; 
import java.util.*; 
import java.time.Instant; 
import java.time.Duration; 
 
import org.junit.*; 
import org.junit.runner.JUnitCore; 
import org.junit.runner.Result; 
import org.junit.runner.notification.Failure; 
import static org.junit.Assert.*; 
 
import leadtools.*; 
import leadtools.codecs.*; 
import leadtools.codecs.RasterCodecs.FeedCallbackThunk; 
import leadtools.drawing.internal.*; 
import leadtools.imageprocessing.*; 
import leadtools.imageprocessing.color.ChangeIntensityCommand; 
import leadtools.svg.*; 
 
 
public void preloadCodecsExample() { 
   final String LEAD_VARS_IMAGES_DIR = "C:\\LEADTOOLS23\\Resources\\Images"; 
   RasterCodecs codecs = new RasterCodecs(); 
 
   String srcFileName1 = combine(LEAD_VARS_IMAGES_DIR, "Image1.j2k"); 
   String srcFileName2 = combine(LEAD_VARS_IMAGES_DIR, "Image1.cmp"); 
   String dstFileName1 = combine(LEAD_VARS_IMAGES_DIR, "Test1.j2k"); 
 
   // display the original values before changing them 
   System.out.println("PreloadCodecList - " + codecs.getPreloadCodecsList()); 
   System.out.println("FixedPreloadCodecs - " + codecs.getFixedPreloadCodecs()); 
   System.out.println("CachedPreloadCodecs - " + codecs.getCachedPreloadCodecs()); 
   System.out.println("IgnoreCodecList - " + codecs.getIgnoreCodecsList()); 
 
   // 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); 
   System.out.println("j2k - Width: " + info.getWidth() + ", Height: " + info.getHeight()); 
 
   // try to get info on a cmp image 
   try { 
      info = codecs.getInformation(srcFileName2, false); 
   } catch (Exception e) { 
      System.out.println("GetInformation for cmp failed - sample success!"); 
   } 
 
   RasterImage image1 = codecs.load(srcFileName1); 
   codecs.save(image1, dstFileName1, RasterImageFormat.J2K, 0); 
   assertTrue("File unsuccessfully saved", (new File(dstFileName1)).exists()); 
   System.out.println("File successfully saved to: " + dstFileName1); 
 
   // Clean up 
   codecs.dispose(); 
} 
Requirements

Target Platforms

Help Version 23.0.2024.2.29
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2024 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Codecs Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.