Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.WinForms
Imports Leadtools.ImageProcessing.Color
[C#]
using Leadtools;
using Leadtools.Codecs;
using Leadtools.WinForms;
using Leadtools.ImageProcessing.Color;
' To keep track of what step in the tutorial we are
Private clicksCount As Integer
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' intitialize a new RasterCodecs object
Dim codecs As New RasterCodecs
' load the main image into our viewer
RasterImageViewer1.Image = codecs.Load("C:\Users\Public\Documents\LEADTOOLS Images\Sample1.cmp")
Label1.Text = "Click to separate this image into CMYK components"
End Sub
[C#]
// To keep track of what step in the tutorial we are
private int clicksCount;
private void Form1_Load(object sender, System.EventArgs e)
{
// intitialize a new RasterCodecs object
RasterCodecs codecs = new RasterCodecs();
// load the main image into our viewer
rasterImageViewer1.Image = codecs.Load(@"C:\Users\Public\Documents\LEADTOOLS Images\Sample1.cmp");
label1.Text = "Click to separate this image into CMYK components";
}
[Visual Basic]
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Select Case (clicksCount)
Case 0
' Separate the image into 4 images based on the CMYK color space
Dim seperateCommand As New ColorSeparateCommand
seperateCommand.Type = ColorSeparateCommandType.Cmyk
seperateCommand.Run(RasterImageViewer1.Image)
' put this new image (4 pages, 1 for each component) in the viewer
RasterImageViewer1.Image = seperateCommand.DestinationImage
Label1.Text = "C component"
Case 1
' View the second page that represents the M component
RasterImageViewer1.Image.Page = 2
Label1.Text = "M component"
Case 2
' View the third page that represents the Y component
RasterImageViewer1.Image.Page = 3
Label1.Text = "Y component"
Case 3
' View the forth page that represents the K component
RasterImageViewer1.Image.Page = 4
Label1.Text = "K component"
Case 4
' Merge the 4 images to get the original image again, and reset the clickCount so the user can perform the entire process again.
Dim mergeCommand As New ColorMergeCommand(ColorMergeCommandType.Cmyk)
mergeCommand.Run(RasterImageViewer1.Image)
RasterImageViewer1.Image = mergeCommand.DestinationImage
Label1.Text = "Image colors have been merged again. Click to separate this image into CMYK components"
clicksCount = -1
End Select
clicksCount = clicksCount + 1
End Sub
[C#]
private void button1_Click(object sender, System.EventArgs e)
{
switch(clicksCount)
{
case 0:
// Separate the image into 4 images based on the CMYK color space
ColorSeparateCommand seperateCommand = new ColorSeparateCommand();
seperateCommand.Type = ColorSeparateCommandType.Cmyk;
seperateCommand.Run(rasterImageViewer1.Image);
// put this new image (4 pages, 1 for each component) in the viewer
rasterImageViewer1.Image = seperateCommand.DestinationImage;
label1.Text = "C component";
break;
case 1:
// View the second page that represents the M component
rasterImageViewer1.Image.Page = 2;
label1.Text = "M component";
break;
case 2:
// View the third page that represents the Y component
rasterImageViewer1.Image.Page = 3;
label1.Text = "Y component";
break;
case 3:
// View the forth page that represents the K component
rasterImageViewer1.Image.Page = 4;
label1.Text = "K component";
break;
case 4:
// Merge the 4 images to get the original image again, and reset the clickCount so the user can perform the entire process again.
ColorMergeCommand mergeCommand = new ColorMergeCommand(ColorMergeCommandType.Cmyk);
mergeCommand.Run(rasterImageViewer1.Image);
rasterImageViewer1.Image = mergeCommand.DestinationImage;
label1.Text = "Image colors have been merged again. Click to separate this image into CMYK components";
clicksCount = -1;
break;
}
clicksCount++;
}
Build, and Run the program to test it.
NOTE: If you encounter an "Invalid File Format" or "Feature Not Supported" exception, please refer to the topic Invalid File Format/Feature Not Supported.