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.