Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ColorConversion
Public Sub WhitePointExampleExample()
' Initialize the RasterCodecs class
Dim codecs As RasterCodecs = 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 Rgb.
Dim rgbImage As RasterImage = codecs.Load(inputFileName, 24, CodecsLoadByteOrder.Rgb, 1, 1)
' Image buffer array
Dim rgbBuffer(rgbImage.BytesPerLine * rgbImage.Height) As Byte
' get image buffer
For i As Integer = 0 To rgbImage.Height - 1
rgbImage.GetRow(i, rgbBuffer, (i * rgbImage.BytesPerLine), rgbImage.BytesPerLine)
Next
' Initialize the Cmyk buffer array
Dim cmykBuffer(CInt(rgbImage.Height * rgbImage.Width * 4)) As Byte
' Initialize a new Converter object
Dim converter As New RasterColorConverterEngine
' Initialize a new ConversionParameters new class object.
Dim convParams As ConversionParameters = New ConversionParameters
' Initialize the WhitePoint property class.
Dim whitePoint As ConversionWhitePoint = ConversionWhitePoint.Empty
' Set the WhitePoint property.
whitePoint.WhitePoint = ConversionWhitePointType.D50
' Set the XWhite property.
whitePoint.XWhite = 0
' Set the YWhite property.
whitePoint.YWhite = 0
convParams.WhitePoint = whitePoint
' Set the Quantization property.
convParams.Quantization = 8
' Set the Method property.
convParams.Method = ConversionMethodFlags.UseBuiltIn
' Set the ActiveMethod property.
convParams.ActiveMethod = ConversionMethodFlags.UseBuiltIn
' Set GcrLevel property.
Dim cmykParameters As New ConversionCmykParameters()
cmykParameters.GcrLevel = 150
convParams.CmykParameters = cmykParameters
Try
' Start the ColorConversion.
converter.Start(ConversionColorFormat.Rgb, ConversionColorFormat.Cmyk, convParams)
' Convert Rgb to CMYK.
converter.Convert(rgbBuffer, _
0, _
cmykBuffer, _
0, _
rgbImage.Width, _
rgbImage.Height, _
CInt(rgbImage.BytesPerLine - (rgbImage.Width * (rgbImage.BitsPerPixel / 8))), _
0)
' Stop the ColorConversion.
converter.Stop()
' Initialize an image to hold the converted buffer.
Dim cmykImage As RasterImage = New RasterImage(RasterMemoryFlags.Conventional, rgbImage.Width, rgbImage.Height, 24, RasterByteOrder.Bgr, RasterViewPerspective.TopLeft, Nothing, IntPtr.Zero, 0)
' Start the color conversion
converter.Start(ConversionColorFormat.Cmyk, ConversionColorFormat.Bgr, convParams)
' convert the image buffer
converter.ConvertToImage(cmykBuffer, _
0, _
cmykImage, _
rgbImage.Width, _
rgbImage.Height, _
0, _
CInt(rgbImage.BytesPerLine - (rgbImage.Width * (rgbImage.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 the used images
rgbImage.Dispose()
cmykImage.Dispose()
Catch ex As Exception
MessageBox.Show(ex.Message)
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
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ColorConversion;
public void WhitePointPropertyExample()
{
// 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 Rgb.
RasterImage rgbImage = codecs.Load(inputFileName, 24, CodecsLoadByteOrder.Rgb, 1, 1);
// Image buffer array
byte[] rgbBuffer = new byte[rgbImage.BytesPerLine * rgbImage.Height];
// get image buffer
for(int i = 0; i < rgbImage.Height; i ++)
rgbImage.GetRow(i, rgbBuffer, i * rgbImage.BytesPerLine, rgbImage.BytesPerLine);
// Initialize the Cmyk buffer array
byte[] cmykBuffer = new byte[rgbImage.Height * rgbImage.Width * 4];
// Initialize a new Converter object
RasterColorConverterEngine converter = new RasterColorConverterEngine();
// Initialize a new ConversionParameters new class object.
ConversionParameters convParams = new ConversionParameters();
// Initialize the WhitePoint property class.
ConversionWhitePoint whitePoint = ConversionWhitePoint.Empty;
// Set the WhitePoint property.
whitePoint.WhitePoint = ConversionWhitePointType.D50;
// Set the XWhite property.
whitePoint.XWhite = 0;
// Set the YWhite property.
whitePoint.YWhite = 0;
convParams.WhitePoint = whitePoint;
// Set the Quantization property.
convParams.Quantization = 8;
// Set the Method property.
convParams.Method = ConversionMethodFlags.UseBuiltIn;
// Set the ActiveMethod property.
convParams.ActiveMethod = ConversionMethodFlags.UseBuiltIn;
// Set GcrLevel property.
ConversionCmykParameters cmykParameters = new ConversionCmykParameters();
cmykParameters.GcrLevel = 150;
convParams.CmykParameters = cmykParameters;
// Initialize an image to hold the converted buffer.
RasterImage cmykImage = null;
try
{
// Start the ColorConversion.
converter.Start(ConversionColorFormat.Rgb, ConversionColorFormat.Cmyk, convParams);
// Convert Rgb to CMYK.
converter.Convert(
rgbBuffer,
0,
cmykBuffer,
0,
rgbImage.Width,
rgbImage.Height,
rgbImage.BytesPerLine - (rgbImage.Width * (rgbImage.BitsPerPixel / 8)),
0);
// Stop the ColorConversion.
converter.Stop();
// Initialize labImage.
cmykImage = new RasterImage(RasterMemoryFlags.Conventional, rgbImage.Width, rgbImage.Height, 24, RasterByteOrder.Bgr, RasterViewPerspective.TopLeft, null, IntPtr.Zero, 0);
// Start the color conversion
converter.Start(ConversionColorFormat.Cmyk, ConversionColorFormat.Bgr, convParams);
// convert the image buffer
converter.ConvertToImage(cmykBuffer, // converted buffer
0, // offset to the beginning of source buffer
cmykImage, // image to be save
rgbImage.Width, // pixels width
rgbImage.Height, // pixels height
0, // 0 bytes align
rgbImage.BytesPerLine - (rgbImage.Width * (rgbImage.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 the used images
rgbImage.Dispose();
cmykImage.Dispose();
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
// Shutdown the ColorConversion.
RasterColorConverterEngine.Shutdown();
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}