←Select platform

Startup Method

Summary

Initializes the required data to start the color conversion toolkit.

Syntax
C#
VB
C++
public static void Startup() 
  
Public Shared Sub Startup()  
public: 
static void Startup();  

Remarks

This static method must be called before calling any other ColorConversion methods. This usually occurs at the start of your application.

Example

This example will convert an image to CMYK color space and save the converted image to disk.

C#
VB
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ColorConversion; 
 
public void StartupExample() 
{ 
   // Initialize the RasterCodecs class  
   RasterCodecs codecs = new RasterCodecs(); 
 
   // StartUp the ColorConversion.  
   RasterColorConverterEngine.Startup(); 
 
   // The input file name  
   string inputFileName = Path.Combine(LEAD_VARS.ImagesDir, "image1.cmp"); 
 
   // load the input image as Bgr.  
   RasterImage bgrImage = codecs.Load(inputFileName, 24, CodecsLoadByteOrder.Bgr, 1, 1); 
 
   // Image buffer array  
   byte[] bgrBuffer = new byte[bgrImage.BytesPerLine * bgrImage.Height]; 
 
   bgrImage.Access(); 
   // get image buffer  
   for (int i = 0; i < bgrImage.Height; i++) 
      bgrImage.GetRow(i, bgrBuffer, i * bgrImage.BytesPerLine, bgrImage.BytesPerLine); 
   bgrImage.Release(); 
 
   // Initialize a new Converter object  
   RasterColorConverterEngine converter = new RasterColorConverterEngine(); 
 
   byte[] cmykBuffer = new byte[bgrImage.Height * bgrImage.Width * 4]; 
 
   try 
   { 
      // Start the color conversion  
      converter.Start(ConversionColorFormat.Bgr, ConversionColorFormat.Cmyk, null); 
 
      // convert the image buffer   
      converter.Convert(bgrBuffer, // input buffer  
         0, // offset from the beginning of the source buffer  
         cmykBuffer, // output buffer  
         0, // offset from the beginning of the destination buffer  
         bgrImage.Width, // pixels width  
         bgrImage.Height, // pixels height  
         bgrImage.BytesPerLine - (bgrImage.Width * (bgrImage.BitsPerPixel / 8)), 
         0); // 0 bytes align 
 
      // stop the conversion  
      converter.Stop(); 
 
      // Initialize an image to hold the converted buffer.  
      RasterImage cmykImage = new RasterImage(RasterMemoryFlags.Conventional, bgrImage.Width, bgrImage.Height, 24, RasterByteOrder.Bgr, RasterViewPerspective.TopLeft, null, IntPtr.Zero, 0); 
 
      // Start the color conversion  
      converter.Start(ConversionColorFormat.Cmyk, ConversionColorFormat.Bgr, null); 
 
      // convert the image buffer  
      converter.ConvertToImage(cmykBuffer, // converted buffer  
         0,                // offset from the beginning of the source buffer  
         cmykImage,        // image to be save  
         bgrImage.Width,   // pixels width  
         bgrImage.Height,  // pixels height  
         0,                // 0 bytes align  
         bgrImage.BytesPerLine - (bgrImage.Width * (bgrImage.BitsPerPixel / 8))); 
 
      // stop the conversion  
      converter.Stop(); 
 
      // the output File Name.  
      string outputFileName = Path.Combine(LEAD_VARS.ImagesDir, "ResultImage.bmp"); 
 
      // Save the result image.  
      codecs.Save(cmykImage, outputFileName, RasterImageFormat.Bmp, 24); 
 
      // dispose of the used images  
      bgrImage.Dispose(); 
      cmykImage.Dispose(); 
   } 
   catch (Exception ex) 
   { 
      MessageBox.Show(ex.ToString()); 
   } 
 
   // Shutdown the ColorConversion.  
   RasterColorConverterEngine.Shutdown(); 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; 
} 
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.ColorConversion 
 
Public Sub StartupExample() 
   ' Initialize the RasterCodecs class  
   Dim codecs As New RasterCodecs() 
 
   ' StartUp the ColorConversion.  
   RasterColorConverterEngine.Startup() 
 
   ' The input file name 
   Dim inputFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp") 
 
   ' load the input image as Bgr.  
   Dim bgrImage As RasterImage = codecs.Load(inputFileName, 24, CodecsLoadByteOrder.Bgr, 1, 1) 
 
   ' Image buffer array  
   'Dim bgrBuffer As Byte() = New Byte(bgrImage.BytesPerLine * bgrImage.Height - 1) {} 
   Dim bgrBuffer(bgrImage.BytesPerLine * bgrImage.Height) As Byte 
 
   ' get image buffer  
   bgrImage.Access() 
   For i As Integer = 0 To bgrImage.Height - 1 
      bgrImage.GetRow(i, bgrBuffer, (i * bgrImage.BytesPerLine), bgrImage.BytesPerLine) 
   Next 
   bgrImage.Release() 
 
   ' Initialize a new Converter object  
   Dim converter As New RasterColorConverterEngine() 
 
   ' Cmyk buffer array 
   Dim cmykBuffer As Byte() = New Byte(bgrImage.Height * bgrImage.Width * 4 - 1) {} 
 
   Try 
      ' Start the color conversion  
      converter.Start(ConversionColorFormat.Bgr, ConversionColorFormat.Cmyk, Nothing) 
 
      ' convert the image buffer   
      converter.Convert(bgrBuffer, 
          0, 
          cmykBuffer, 
          0, 
          bgrImage.Width, 
          bgrImage.Height, 
          CInt(bgrImage.BytesPerLine - (bgrImage.Width * (bgrImage.BitsPerPixel / 8))), 
          0) 
 
      ' stop the conversion  
      converter.[Stop]() 
 
      ' Initialize an image to hold the converted buffer.  
      Dim cmykImage As New RasterImage(RasterMemoryFlags.Conventional, bgrImage.Width, bgrImage.Height, 24, RasterByteOrder.Bgr, RasterViewPerspective.TopLeft, 
       Nothing, IntPtr.Zero, 0) 
 
      ' Start the color conversion  
      converter.Start(ConversionColorFormat.Cmyk, ConversionColorFormat.Bgr, Nothing) 
 
      converter.ConvertToImage(cmykBuffer, 
          0, 
          cmykImage, 
          bgrImage.Width, 
          bgrImage.Height, 
          0, 
          CInt(bgrImage.BytesPerLine - (bgrImage.Width * (bgrImage.BitsPerPixel / 8)))) 
 
      ' stop the conversion  
      converter.Stop() 
 
      ' the output File Name.  
      Dim outputFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "ResultImage.bmp") 
 
      ' Save the result image.  
      codecs.Save(cmykImage, outputFileName, RasterImageFormat.Bmp, 24) 
 
      ' dispose of the used images  
      bgrImage.Dispose() 
      cmykImage.Dispose() 
   Catch ex As Exception 
      MessageBox.Show(ex.ToString()) 
   End Try 
 
   ' Shutdown the ColorConversion.  
   RasterColorConverterEngine.Shutdown() 
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.ColorConversion; 
 
public void StartupExample() 
{ 
   // Initialize the RasterCodecs class  
   RasterCodecs codecs = new RasterCodecs(); 
 
   // StartUp the ColorConversion.  
   RasterColorConverterEngine.Startup(); 
 
   // The input file name  
   string inputFileName = LeadtoolsExamples.Common.ImagesPath.Path + "image1.cmp"; 
 
   // load the input image as Bgr.  
   RasterImage bgrImage = codecs.Load(inputFileName, 24, CodecsLoadByteOrder.Bgr, 1, 1); 
 
   // Image buffer array  
   byte[] bgrBuffer = new byte[bgrImage.BytesPerLine * bgrImage.Height]; 
 
   // get image buffer  
   for (int i = 0; i < bgrImage.Height; i++) 
      bgrImage.GetRow(i, bgrBuffer, i * bgrImage.BytesPerLine, bgrImage.BytesPerLine); 
 
   byte[] cmykBuffer = new byte[bgrImage.Height * bgrImage.Width * 4]; 
 
   try 
   { 
      // convert the image buffer   
      RasterColorConverterEngine.ConvertDirect(ConversionColorFormat.Bgr, 
         ConversionColorFormat.Cmyk, bgrBuffer, // input buffer  
         0, // offset from the begining of the source buffer  
         cmykBuffer, // output buffer  
         0, // offset from the begining of the destination buffer  
         bgrImage.Width, // pixels width  
         bgrImage.Height, // pixels height  
         bgrImage.BytesPerLine - (bgrImage.Width * (bgrImage.BitsPerPixel / 8)), 
         0); // 0 bytes align 
 
      // Initialize an image to hold the converted buffer.  
      RasterImage cmykImage = new RasterImage(RasterMemoryFlags.Conventional, bgrImage.Width, bgrImage.Height, 24, RasterByteOrder.Bgr, RasterViewPerspective.TopLeft, null, null, 0); 
 
      // convert the image buffer  
      RasterColorConverterEngine.ConvertDirectToImage(ConversionColorFormat.Cmyk, 
         ConversionColorFormat.Bgr, 
         cmykBuffer, // converted buffer  
         0,                // offset from the begining of the source buffer  
         cmykImage,        // image to be save  
         bgrImage.Width,   // pixels width  
         bgrImage.Height,  // pixels height  
         0,                // 0 bytes align  
         bgrImage.BytesPerLine - (bgrImage.Width * (bgrImage.BitsPerPixel / 8))); 
 
      // the output File Name.  
      string outputFileName = LeadtoolsExamples.Common.ImagesPath.Path + "ResultImage.bmp"; 
 
      // Save the result image.  
      codecs.Save(cmykImage, outputFileName, RasterImageFormat.Bmp, 24); 
 
      // dispose of the used images  
      bgrImage.Dispose(); 
      cmykImage.Dispose(); 
   } 
   catch (Exception) 
   { 
   } 
 
   // Shutdown the ColorConversion.  
   RasterColorConverterEngine.Shutdown(); 
} 
vb[Silverlight VB Example] 
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.ColorConversion 
 
Public Sub StartupExample() 
   ' Initialize the RasterCodecs class  
   Dim codecs As RasterCodecs = New RasterCodecs() 
 
   ' StartUp the ColorConversion.  
   RasterColorConverterEngine.Startup() 
 
   ' The input file name  
   Dim inputFileName As String = LeadtoolsExamples.Common.ImagesPath.Path & "image1.cmp" 
 
   ' load the input image as Bgr.  
   Dim bgrImage As RasterImage = codecs.Load(inputFileName, 24, CodecsLoadByteOrder.Bgr, 1, 1) 
 
   ' Image buffer array  
   Dim bgrBuffer As Byte() = New Byte(bgrImage.BytesPerLine * bgrImage.Height - 1) {} 
 
   ' get image buffer  
   Dim i As Integer = 0 
   Do While i < bgrImage.Height 
      bgrImage.GetRow(i, bgrBuffer, i * bgrImage.BytesPerLine, bgrImage.BytesPerLine) 
      i += 1 
   Loop 
 
   Dim cmykBuffer As Byte() = New Byte(bgrImage.Height * bgrImage.Width * 4 - 1) {} 
 
   Try 
      ' convert the image buffer   
      RasterColorConverterEngine.ConvertDirect(ConversionColorFormat.Bgr, ConversionColorFormat.Cmyk, bgrBuffer, 0, cmykBuffer, 0, bgrImage.Width, bgrImage.Height, bgrImage.BytesPerLine - (bgrImage.Width * (bgrImage.BitsPerPixel _ 
            / 8)), 0) ' 0 bytes align 
 
      ' Initialize an image to hold the converted buffer.  
      Dim cmykImage As RasterImage = New RasterImage(RasterMemoryFlags.Conventional, bgrImage.Width, bgrImage.Height, 24, RasterByteOrder.Bgr, RasterViewPerspective.TopLeft, Nothing, Nothing, 0) 
 
      ' convert the image buffer  
      RasterColorConverterEngine.ConvertDirectToImage(ConversionColorFormat.Cmyk, ConversionColorFormat.Bgr, cmykBuffer, 0, cmykImage, bgrImage.Width, bgrImage.Height, 0, bgrImage.BytesPerLine - (bgrImage.Width * (bgrImage.BitsPerPixel / 8))) 
 
      ' the output File Name.  
      Dim outputFileName As String = LeadtoolsExamples.Common.ImagesPath.Path & "ResultImage.bmp" 
 
      ' Save the result image.  
      codecs.Save(cmykImage, outputFileName, RasterImageFormat.Bmp, 24) 
 
      ' dispose of the used images  
      bgrImage.Dispose() 
      cmykImage.Dispose() 
   Catch e1 As Exception 
   End Try 
 
   ' Shutdown the ColorConversion.  
   RasterColorConverterEngine.Shutdown() 
End Sub 

Requirements

Target Platforms

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

Leadtools.ColorConversion Assembly