Sets new conversion parameters.
public void SetParameters(ConversionParameters parameters)
Public Sub SetParameters( _ByVal parameters As ConversionParameters _)
public:void SetParameters(ConversionParameters^ parameters)
parameters
A ConversionParameters object that describes the conversion properties to be set.
The parameters parameter should not be null(Nothing). If it is, this method will fail.
This example will convert a CMYK buffer to RGB buffer.
using Leadtools;using Leadtools.Codecs;using Leadtools.ColorConversion;public byte[] GetCmykBufferFromImage(RasterImage bgrImage){// StartUp the ColorConversion.RasterColorConverterEngine.Startup();// Image buffer arraybyte[] bgrBuffer = new byte[bgrImage.BytesPerLine * bgrImage.Height];bgrImage.Access();// get image bufferfor (int i = 0; i < bgrImage.Height; i++)bgrImage.GetRow(i, bgrBuffer, i * bgrImage.BytesPerLine, bgrImage.BytesPerLine);bgrImage.Release();// Initialize a new Converter objectRasterColorConverterEngine converter = new RasterColorConverterEngine();byte[] cmykBuffer = new byte[bgrImage.Height * bgrImage.Width * 4];try{// Start the color conversionconverter.Start(ConversionColorFormat.Bgr, ConversionColorFormat.Cmyk, null);// convert the image bufferconverter.Convert(bgrBuffer, // input buffer0, // offset from the beginning of the source buffercmykBuffer, // output buffer0, // offset from the beginning of the destination bufferbgrImage.Width, // pixels widthbgrImage.Height, // pixels heightbgrImage.BytesPerLine - (bgrImage.Width * (bgrImage.BitsPerPixel / 8)),0); // 0 bytes align// stop the conversionconverter.Stop();}catch (Exception ex){MessageBox.Show(ex.Message);}RasterColorConverterEngine.Shutdown();return cmykBuffer;}public RasterImage GetImageFromCmykBuffer(byte[] cmykBuffer, int width, int height){// StartUp the ColorConversion.RasterColorConverterEngine.Startup();// Initialize a new Converter objectRasterColorConverterEngine converter = new RasterColorConverterEngine();// Initialize an image to hold the converted buffer.RasterImage cmykImage = null;try{cmykImage = new RasterImage(RasterMemoryFlags.Conventional, width, height, 24, RasterByteOrder.Bgr, RasterViewPerspective.TopLeft, null, IntPtr.Zero, 0);// Start the color conversionconverter.Start(ConversionColorFormat.Cmyk, ConversionColorFormat.Bgr, null);// convert the image bufferconverter.ConvertToImage(cmykBuffer, // converted buffer0, // offset from the beginning of the source buffercmykImage, // image to be savewidth, // pixels widthheight, // pixels height0, // 0 bytes aligncmykImage.BytesPerLine - (cmykImage.Width * (cmykImage.BitsPerPixel / 8)));// stop the conversionconverter.Stop();}catch (Exception ex){MessageBox.Show(ex.Message);}// Shutdown the ColorConversion.RasterColorConverterEngine.Shutdown();return cmykImage;}public void SetParametersExample(){// Initialize the RasterCodecsRasterCodecs codecs = new RasterCodecs();// StartUp the ColorConversion.RasterColorConverterEngine.Startup();// The input file namestring inputFileName = Path.Combine(LEAD_VARS.ImagesDir, "image1.cmp");// load the input image as Bgr.RasterImage bgrImage = codecs.Load(inputFileName, 24, CodecsLoadByteOrder.Bgr, 1, 1);int width = bgrImage.Width;int height = bgrImage.Height;byte[] cmykBuffer = GetCmykBufferFromImage(bgrImage);// Initialize the Rgb buffer arraybyte[] rgbBuffer = new byte[cmykBuffer.Length - cmykBuffer.Length / 4];// Initialize a new Converter objectRasterColorConverterEngine converter = new RasterColorConverterEngine();// Initialize a new ConversionParameters class object.ConversionParameters convParams = new ConversionParameters();// we want to use the built in LEAD ICC conversion method and built in conversionconvParams.Method = ConversionMethodFlags.UseBuiltIn | ConversionMethodFlags.UseIcc;// set the active conversion methodconvParams.ActiveMethod = ConversionMethodFlags.UseBuiltIn;// Initialize WhitePoint property class.convParams.WhitePoint = new ConversionWhitePoint();// Set WhitePoint property.ConversionWhitePoint whitePoint = new ConversionWhitePoint();whitePoint.WhitePoint = ConversionWhitePointType.D50;convParams.WhitePoint = whitePoint;// Initialize CmykParameters property class.convParams.CmykParameters = new ConversionCmykParameters();// Set GcrLevel property.ConversionCmykParameters cmykParameters = new ConversionCmykParameters();cmykParameters.GcrLevel = 150;convParams.CmykParameters = cmykParameters;try{// Initialize the ColorConversionconverter.Start(ConversionColorFormat.Cmyk, ConversionColorFormat.Rgb, convParams);// convert the Cmyk buffer to Rgb buffer using Built-in conversion.converter.Convert(cmykBuffer,0,rgbBuffer,0,width,height,0,bgrImage.BytesPerLine - (bgrImage.Width * (bgrImage.BitsPerPixel / 8)));// Change the active method for conversionconvParams.Method = ConversionMethodFlags.ChangeActiveMethod | ConversionMethodFlags.ChangeCmyk;// Switch to ICC conversion methodconvParams.ActiveMethod = ConversionMethodFlags.UseIcc;// Set Mask property.cmykParameters.Mask = ConversionCmykMask.Gcr;// Set GcrLevel property.cmykParameters.GcrLevel = 175;convParams.CmykParameters = cmykParameters;// Update the conversion parametersconverter.SetParameters(convParams);// convert the image bufferconverter.Convert(cmykBuffer, 0, rgbBuffer, 0, width, height, 0, 0);// Stop the ColorConversionconverter.Stop();}catch (Exception ex){MessageBox.Show(ex.Message);rgbBuffer = null;}// the output File Name.string outputFileName = Path.Combine(LEAD_VARS.ImagesDir, "ResultImage.bmp");// Save the converted ImageRasterImage cmykImage = GetImageFromCmykBuffer(cmykBuffer, width, height);codecs.Save(cmykImage, outputFileName, RasterImageFormat.Bmp, 24);// Shutdown the ColorConversion.RasterColorConverterEngine.Shutdown();// Shutdown the RasterColor}static class LEAD_VARS{public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";}
Imports LeadtoolsImports Leadtools.CodecsImports Leadtools.ColorConversionPublic Function GetCmykBufferFromImage(ByVal bgrImage As RasterImage) As Byte()' StartUp the ColorConversion.RasterColorConverterEngine.Startup()' Image buffer arrayDim bgrBuffer(bgrImage.BytesPerLine * bgrImage.Height) As Byte' get image bufferDim i As IntegerbgrImage.Access()For i = 0 To bgrImage.Height - 1bgrImage.GetRow(i, bgrBuffer, (i * bgrImage.BytesPerLine), bgrImage.BytesPerLine)Next ibgrImage.Release()' Initialize a new Converter objectDim converter As New RasterColorConverterEngine()Dim cmykBuffer(bgrImage.Height * bgrImage.Width * 4) As ByteTry' Start the color conversionconverter.Start(ConversionColorFormat.Bgr, ConversionColorFormat.Cmyk, Nothing)' convert the image bufferconverter.Convert(bgrBuffer,0,cmykBuffer,0,bgrImage.Width,bgrImage.Height,CInt(bgrImage.BytesPerLine - (bgrImage.Width * (bgrImage.BitsPerPixel / 8))),0)' stop the conversionconverter.Stop()Catch ex As ExceptionMessageBox.Show(ex.Message)End TryRasterColorConverterEngine.Shutdown()Return cmykBufferEnd FunctionPublic Function GetImageFromCmykBuffer(ByVal cmykBuffer As Byte(), ByVal width As Integer, ByVal height As Integer) As RasterImage' StartUp the ColorConversion.RasterColorConverterEngine.Startup()' Initialize a new Converter objectDim Converter As New RasterColorConverterEngine()' Initialize an image to hold the converted buffer.Dim cmykImage As RasterImage = NothingTrycmykImage = New RasterImage(RasterMemoryFlags.Conventional, width, height, 24, RasterByteOrder.Bgr, RasterViewPerspective.TopLeft, Nothing, IntPtr.Zero, 0)' Start the color conversionConverter.Start(ConversionColorFormat.Cmyk, ConversionColorFormat.Bgr, Nothing)' convert the image bufferConverter.ConvertToImage(cmykBuffer,0,cmykImage,width,height,0,CInt(cmykImage.BytesPerLine - (cmykImage.Width * (cmykImage.BitsPerPixel / 8))))' stop the conversionConverter.Stop()Catch ex As ExceptionMessageBox.Show(ex.Message)End Try' Shutdown the ColorConversion.RasterColorConverterEngine.Shutdown()Return cmykImageEnd FunctionPublic Sub SetParametersExample()' StartUp the RasterCodecs.Dim codecs As New RasterCodecs' StartUp the ColorConversion.RasterColorConverterEngine.Startup()' The input file nameDim 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)Dim width As Integer = bgrImage.WidthDim height As Integer = bgrImage.HeightDim cmykBuffer() As Byte = GetCmykBufferFromImage(bgrImage)' Initialize the Rgb buffer arrayDim rgbBuffer(CInt(cmykBuffer.Length - cmykBuffer.Length / 4)) As Byte' Initialize a new Converter objectDim converter As New RasterColorConverterEngine' Initialize a new ConversionParameters class object.Dim convParams As ConversionParameters = New ConversionParameters' we want to use the built in LEAD ICC conversion method and built in conversionconvParams.Method = ConversionMethodFlags.UseBuiltIn Or ConversionMethodFlags.UseIcc' set the active conversion methodconvParams.ActiveMethod = ConversionMethodFlags.UseBuiltIn' Initialize WhitePoint property class.convParams.WhitePoint = New ConversionWhitePoint' Set WhitePoint property.Dim whitePoint As ConversionWhitePointwhitePoint.WhitePoint = ConversionWhitePointType.D50convParams.WhitePoint = whitePoint' Initialize CmykParameters property class.convParams.CmykParameters = New ConversionCmykParameters' Set GcrLevel property.Dim cmykParameters As ConversionCmykParameterscmykParameters.GcrLevel = 150convParams.CmykParameters = cmykParametersTry' Initialize the ColorConversionconverter.Start(ConversionColorFormat.Cmyk, ConversionColorFormat.Rgb, convParams)' convert the Cmyk buffer to Rgb buffer using Built-in conversion.converter.Convert(cmykBuffer,0,rgbBuffer,0,width,height,0,CInt(bgrImage.BytesPerLine - (bgrImage.Width * (bgrImage.BitsPerPixel / 8))))' Change the active method for conversionconvParams.Method = ConversionMethodFlags.ChangeActiveMethod Or ConversionMethodFlags.ChangeCmyk' Switch to ICC conversion methodconvParams.ActiveMethod = ConversionMethodFlags.UseIcc' Set Mask property.cmykParameters.Mask = ConversionCmykMask.Gcr' Set GcrLevel property.cmykParameters.GcrLevel = 175convParams.CmykParameters = cmykParameters' Update the conversion parametersconverter.SetParameters(convParams)' convert the image bufferconverter.Convert(cmykBuffer,0,rgbBuffer,0,width,height,0,CInt(bgrImage.BytesPerLine - (bgrImage.Width * (bgrImage.BitsPerPixel / 8))))' Stop the ColorConversionconverter.Stop()Catch ex As ExceptionMessageBox.Show(ex.Message)rgbBuffer = NothingEnd Try' the output File Name.Dim outputFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "ResultImage.bmp")' Save the converted ImageDim cmykImage As RasterImage = GetImageFromCmykBuffer(cmykBuffer, width, height)codecs.Save(cmykImage, outputFileName, RasterImageFormat.Bmp, 24)' Shutdown the ColorConversion.RasterColorConverterEngine.Shutdown()' Shutdown the RasterCodecsEnd SubPublic NotInheritable Class LEAD_VARSPublic Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"End Class
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document
