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




srcFileName
A String containing the input file name.
destFileName
A String containing the output file name.
format
The output file format. For valid values, refer to Summary of All Supported Image File Formats.
width
New width of the output image. If this value is not 0, then the output file will be resized to the width value. Use a value of 0 if you do not wish to resize the output file.
height
New height of the output image. If this value is not 0, then the output file will be resized to the height value. Use a value of 0 if you do not wish to resize the output file.
bitsPerPixel
The output image pixel depth. Note that not all bits per pixel are available to all file formats.
info
A CodecsImageInfo obect specifying more options for the conversion.
Converts an image file from one format to another, creating a new file in the new format.

Syntax

Visual Basic (Declaration) 
Public Sub Convert( _
   ByVal srcFileName As String, _
   ByVal destFileName As String, _
   ByVal format As RasterImageFormat, _
   ByVal width As Integer, _
   ByVal height As Integer, _
   ByVal bitsPerPixel As Integer, _
   ByVal info As CodecsImageInfo _
) 
Visual Basic (Usage)Copy Code
Dim instance As RasterCodecs
Dim srcFileName As String
Dim destFileName As String
Dim format As RasterImageFormat
Dim width As Integer
Dim height As Integer
Dim bitsPerPixel As Integer
Dim info As CodecsImageInfo
 
instance.Convert(srcFileName, destFileName, format, width, height, bitsPerPixel, info)
C# 
public void Convert( 
   string srcFileName,
   string destFileName,
   RasterImageFormat format,
   int width,
   int height,
   int bitsPerPixel,
   CodecsImageInfo info
)
Managed Extensions for C++ 
public: void Convert( 
   string* srcFileName,
   string* destFileName,
   RasterImageFormat format,
   int width,
   int height,
   int bitsPerPixel,
   CodecsImageInfo* info
) 
C++/CLI 
public:
void Convert( 
   String^ srcFileName,
   String^ destFileName,
   RasterImageFormat format,
   int width,
   int height,
   int bitsPerPixel,
   CodecsImageInfo^ info
) 

Parameters

srcFileName
A String containing the input file name.
destFileName
A String containing the output file name.
format
The output file format. For valid values, refer to Summary of All Supported Image File Formats.
width
New width of the output image. If this value is not 0, then the output file will be resized to the width value. Use a value of 0 if you do not wish to resize the output file.
height
New height of the output image. If this value is not 0, then the output file will be resized to the height value. Use a value of 0 if you do not wish to resize the output file.
bitsPerPixel
The output image pixel depth. Note that not all bits per pixel are available to all file formats.
info
A CodecsImageInfo obect specifying more options for the conversion.

Example

Visual BasicCopy Code
RasterCodecs.Convert
      Public Sub ConvertExample()
         RasterCodecs.Startup()
         Dim codecs As RasterCodecs = New RasterCodecs()
         codecs.ThrowExceptionsOnInvalidImages = False

         Dim srcPath As String = "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images"
         Dim destPath As String = Path.Combine(srcPath, "GifThumbnails")

         If (Not Directory.Exists(destPath)) Then
            Directory.CreateDirectory(destPath)
         End If

         Const thumbWidth As Integer = 128
         Const thumbHeight As Integer = 128
         Dim destRect As Rectangle = New Rectangle(0, 0, thumbWidth, thumbHeight)

         ' Get the CMP files in this folder
         Dim files As String() = Directory.GetFiles(srcPath, "*.cmp")
         For Each srcFileName As String In files
            ' Make sure that this is a file we can load
            Dim info As CodecsImageInfo = codecs.GetInformation(srcFileName, False)
            If info.Format <> RasterImageFormat.Unknown Then
               ' Convert to thumbnails (we want to keep the aspect ratio)
               Dim rc As Rectangle = RasterImage.CalculatePaintModeRectangle(thumbWidth, thumbHeight, destRect, RasterPaintSizeMode.FitAlways, RasterPaintAlignMode.Near, RasterPaintAlignMode.Near)

               ' rc.Width and Height contains the image size we want with good aspect ratio
               Dim name As String = Path.GetFileNameWithoutExtension(srcFileName)
               Dim destFileName As String = Path.Combine(destPath, name & "_thumb.gif")

               ' Delete the thumbnail if its already there
               If File.Exists(destFileName) Then
                  File.Delete(destFileName)
               End If

               codecs.Convert(srcFileName, destFileName, RasterImageFormat.Gif, rc.Width, rc.Height, 8, info)
            End If
         Next srcFileName

         ' Clean up
         codecs.Dispose()
         RasterCodecs.Shutdown()
      End Sub
C#Copy Code
RasterCodecs.Convert 
      public void ConvertExample() 
      { 
         RasterCodecs.Startup(); 
         RasterCodecs codecs = new RasterCodecs(); 
         codecs.ThrowExceptionsOnInvalidImages = false; 
 
         string srcPath = @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images"; 
         string destPath = Path.Combine(srcPath, @"GifThumbnails"); 
 
         if(!Directory.Exists(destPath)) 
            Directory.CreateDirectory(destPath); 
 
         const int thumbWidth = 128; 
         const int thumbHeight = 128; 
         Rectangle destRect = new Rectangle(0, 0, thumbWidth, thumbHeight); 
 
         // Get the CMP files in this folder 
         string[] files = Directory.GetFiles(srcPath, "*.cmp"); 
         foreach(string srcFileName in files) 
         { 
            // Make sure that this is a file we can load 
            CodecsImageInfo info = codecs.GetInformation(srcFileName, false); 
            if(info.Format != RasterImageFormat.Unknown) 
            { 
               // Convert to thumbnails (we want to keep the aspect ratio) 
               Rectangle rc = RasterImage.CalculatePaintModeRectangle( 
                  thumbWidth, 
                  thumbHeight, 
                  destRect, 
                  RasterPaintSizeMode.FitAlways, 
                  RasterPaintAlignMode.Near, 
                  RasterPaintAlignMode.Near); 
 
               // rc.Width and Height contains the image size we want with good aspect ratio 
               string name = Path.GetFileNameWithoutExtension(srcFileName); 
               string destFileName = Path.Combine(destPath, name + "_thumb.gif"); 
 
               // Delete the thumbnail if its already there 
               if(File.Exists(destFileName)) 
                  File.Delete(destFileName); 
 
               codecs.Convert(srcFileName, destFileName, RasterImageFormat.Gif, rc.Width, rc.Height, 8, info); 
            } 
         } 
 
         // Clean up 
         codecs.Dispose(); 
         RasterCodecs.Shutdown(); 
      }

Remarks

If you convert to a lower bits-per-pixel format, this method optimizes the colors automatically. For example, when converting a 24-bit file (16 million colors) to an 8-bit file (256 colors) this method selects the best 256 colors to represent the 24-bit image

Note that this is a high-level method that does conversion from all possible formats to all possible formats.

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