←Select platform

Convert(string,string,RasterImageFormat,int,int,int,CodecsImageInfo) Method

Summary

Converts an image file from one format to another, creating a new file in the new format.

Syntax
C#
VB
Objective-C
C++
public void Convert( 
   string srcFileName, 
   string destFileName, 
   RasterImageFormat format, 
   int width, 
   int height, 
   int bitsPerPixel, 
   CodecsImageInfo info 
) 
Public Overloads 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 _ 
)  
- (BOOL)convertFile:(NSString *)srcFile  
    destinationFile:(NSString *)dstFile  
             format:(LTRasterImageFormat)format  
              width:(NSInteger)width  
             height:(NSInteger)height  
       bitsPerPixel:(NSInteger)bitsPerPixel  
              error:(NSError **)error 
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 object specifying more options for the conversion.

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.

Example

This example will convert create a RasterImage that contains as pages, thumbnails for all of the CMP images in a folder

C#
VB
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing; 
using Leadtools.ImageProcessing.Color; 
using Leadtools.Svg; 
using LeadtoolsExamples.Common; 
 
public void ConvertExample() 
{ 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.ThrowExceptionsOnInvalidImages = false; 
 
   string srcPath = LEAD_VARS.ImagesDir; 
   string destPath = Path.Combine(LEAD_VARS.ImagesDir, "GifThumbnails"); 
 
   if (!Directory.Exists(destPath)) 
      Directory.CreateDirectory(destPath); 
 
   const int thumbWidth = 128; 
   const int thumbHeight = 128; 
   LeadRect destRect = new LeadRect(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) 
         LeadRect 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(); 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; 
} 
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.ImageProcessing 
Imports Leadtools.ImageProcessing.Color 
Imports Leadtools.Drawing 
Imports Leadtools.Svg 
 
Public Sub ConvertExample() 
   Dim codecs As RasterCodecs = New RasterCodecs() 
   codecs.ThrowExceptionsOnInvalidImages = False 
 
   Dim destPath As String = Path.Combine(LEAD_VARS.ImagesDir, "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 LeadRect = New LeadRect(0, 0, thumbWidth, thumbHeight) 
 
   ' Get the CMP files in this folder 
   Dim files As String() = Directory.GetFiles(LEAD_VARS.ImagesDir, "*.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 LeadRect = 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() 
End Sub 
 
Public NotInheritable Class LEAD_VARS 
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" 
End Class 
c#[Silverlight C# Example] 
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.Examples; 
using Leadtools.ImageProcessing; 
using Leadtools.ImageProcessing.Color; 
using Leadtools.Windows.Media; 
 
public void ConvertExample(Stream inStreamCmp, Stream outStreamGifThumb) 
{ 
   RasterCodecs codecs = new RasterCodecs(); 
 
   const int thumbWidth = 128; 
   const int thumbHeight = 128; 
   LeadRect destRect = new LeadRect(0, 0, thumbWidth, thumbHeight); 
 
   // Make sure that this is a file we can load 
   CodecsImageInfo info = codecs.GetInformation(inStreamCmp, false); 
 
   // Convert to thumbnails (we want to keep the aspect ratio) 
   LeadRect rc = RasterImage.CalculatePaintModeRectangle( 
      thumbWidth, 
      thumbHeight, 
      destRect, 
      RasterPaintSizeMode.FitAlways, 
      RasterPaintAlignMode.Near, 
      RasterPaintAlignMode.Near); 
 
   codecs.Convert(inStreamCmp, outStreamGifThumb, RasterImageFormat.Gif, rc.Width, rc.Height, 8, info); 
} 
vb[Silverlight VB Example] 
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.ImageProcessing 
Imports Leadtools.ImageProcessing.Color 
Imports Leadtools.Windows.Media 
 
Public Sub ConvertExample(ByVal inStreamCmp As Stream, ByVal outStreamGifThumb As Stream) 
   Dim codecs As RasterCodecs = New RasterCodecs() 
 
   Const thumbWidth As Integer = 128 
   Const thumbHeight As Integer = 128 
   Dim destRect As LeadRect = New LeadRect(0, 0, thumbWidth, thumbHeight) 
 
   ' Make sure that this is a file we can load 
   Dim info As CodecsImageInfo = codecs.GetInformation(inStreamCmp, False) 
 
   ' Convert to thumbnails (we want to keep the aspect ratio) 
   Dim rc As LeadRect = RasterImage.CalculatePaintModeRectangle(thumbWidth, thumbHeight, destRect, RasterPaintSizeMode.FitAlways, RasterPaintAlignMode.Near, RasterPaintAlignMode.Near) 
 
   codecs.Convert(inStreamCmp, outStreamGifThumb, RasterImageFormat.Gif, rc.Width, rc.Height, 8, info) 
End Sub 

Requirements

Target Platforms

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

Leadtools.Codecs Assembly