←Select platform

PaintCmykPlanes(RasterImage,IntPtr,LeadRect,LeadRect,LeadRect,LeadRect,RasterPaintProperties,object) Method

Summary
Displays the CMYK planes stored in the image in the given Windows device context handle.
Syntax
C#
C++/CLI
Python

Parameters

image
The source image.

hdc
The destination Windows device context handle where the CMYK planes will be displayed.

srcRect
A Leadtools.LeadRect object that specifies the part of the image to use as the display source.

The coordinates in the  srcRect rectangle are relative to the image. You can pass Rectangle.Empty to use the default, which matches the image.

srcClipRect
A Leadtools.LeadRect object specifies the portion of the display source to paint. Generally, this is used for updating the display when part of the source image has changed.

The coordinates in the  srcClipRect rectangle are relative to the image. You can pass Rectangle.Empty to use the default, which matches the image

destRect
A Leadtools.LeadRect object that determines how the source rectangle is scaled and how the image is positioned in the destination  hdc handle.

The coordinates in the  destRect object are relative to the  hdc handle. There is no default for this parameter. You must specify the Leadtools.LeadRect object.

destClipRect
A Leadtools.LeadRect object that specifies the portion of the display rectangle to paint. Generally, this is used for updating changes in the display surface, such as when a user moves another window, uncovering a part of the image that had been covered up.

The coordinates in the  destClipRect are relative to the device context handle. You can pass Rectangle.Empty to use the default, which matches the device context handle. In most cases, however, you should use the rectangle returned by the .NET PaintEventArgs.ClipRectangle or Windows WM_PAINT message.

properties
Options for the display.

colorConverter
Optional RasterColorConverter object used to convert CMYK data to BGR during painting. Pass null (Nothing in VB) to let LEADTOOLS use the built-in color conversion functions.

Remarks

The image must contain pages that represent each of the CMYK planes.

The data is automatically converted to BGR and dithered (if necessary) without affecting the original data in the image.

The image planes are typically created using RasterCodecs.LoadCmykPlanes.

Windows can only paint BGR data. Therefore, we need to convert CMYK data to BGR during the painting process. You will notice that the painting of regular images (which are already BGR) is faster than the painting of CMYK planes.

The color conversion can be performed using RasterColorConverter.

These conversions are accurate, but are slower than the built-in CMYK->RGB conversion formulas. To use the accurate conversions, create a RasterColorConverter object and pass it as  colorConverter. To use the fast conversions, pass null (Nothing for VB) for  colorConverter.

Note that there is a visible difference between using a RasterColorConverter object or not. Also, make sure you create a correct CMYK->BGR RasterColorConverter object.

If  destRect is larger or smaller than the image's actual dimensions, then the image will be scaled to fit  destRect.

For more information, refer to the following:

Example
C#
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.Drawing; 
using Leadtools.ImageProcessing; 
 
 
public void PaintCmykPlanesExample() 
{ 
   PaintCmykPlanesForm f = new PaintCmykPlanesForm(); 
   f.ShowDialog(); 
} 
 
class PaintCmykPlanesForm : Form 
{ 
   private RasterImage image; 
 
   public PaintCmykPlanesForm() 
   { 
      // Load the cmyk planes 
      RasterCodecs codecs = new RasterCodecs(); 
 
      string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, @"ET\src_cmyk_image.tif"); 
      image = codecs.LoadCmykPlanes(srcFileName, 0, 1); 
 
      Text = "PaintCmykPlanes Example"; 
   } 
 
   protected override void Dispose(bool disposing) 
   { 
      // Clean up 
      if (disposing) 
      { 
         image.Dispose(); 
      } 
 
      base.Dispose(disposing); 
   } 
 
   protected override void OnPaint(PaintEventArgs e) 
   { 
      // Draw the image fit and center on this form 
      LeadRect destRect = LeadRect.FromLTRB(ClientRectangle.Left, ClientRectangle.Top, ClientRectangle.Right, ClientRectangle.Bottom); 
      destRect = RasterImage.CalculatePaintModeRectangle( 
         image.ImageWidth, 
         image.ImageHeight, 
         destRect, 
         RasterPaintSizeMode.Fit, 
         RasterPaintAlignMode.Center, 
         RasterPaintAlignMode.Center); 
      RasterPaintProperties props = RasterPaintProperties.Default; 
      props.UsePaintPalette = true; 
      RasterImagePainter.PaintCmykPlanes(image, e.Graphics, LeadRect.Empty, LeadRect.Empty, destRect, LeadRect.Empty, props, null); 
 
      base.OnPaint(e); 
   } 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images"; 
} 
Requirements

Target Platforms

Help Version 22.0.2023.3.31
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Drawing Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.