public double XWhite { get; set; }
XWhite # get and set (ConversionWhitePoint)
The x value, between 0.0 and 1.0
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];
rgbImage.Access();
// get image buffer
for (int i = 0; i < rgbImage.Height; i++)
rgbImage.GetRow(i, rgbBuffer, i * rgbImage.BytesPerLine, rgbImage.BytesPerLine);
rgbImage.Release();
// 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)
{
Debug.WriteLine(ex.Message);
}
// Shutdown the ColorConversion.
RasterColorConverterEngine.Shutdown();
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images";
}
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