Leadtools Send comments on this topic. | Back to Introduction - All Topics | Help Version 16.5.9.25
PaintCmykPlanes(Graphics,Rectangle,Rectangle,Rectangle,Rectangle,RasterPaintProperties,Object) Method
See Also  Example
Leadtools Namespace > RasterImage Class > PaintCmykPlanes Method : PaintCmykPlanes(Graphics,Rectangle,Rectangle,Rectangle,Rectangle,RasterPaintProperties,Object) Method



graphics
The destination Graphics object where the CMYK planes will be displayed.
srcRect

A Rectangle 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 Rectangle 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 Rectangle object that determines how the source rectangle is scaled and how the image is positioned in the destination graphics object.

The coordinates in the destRect object are relative to the graphics object. There is no default for this parameter. You must specify the Rectangle object.

destClipRect

A Rectangle 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 Graphics object. You can pass Rectangle.Empty to use the default, which matches the Graphics object. 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.
Displays the CMYK planes stored in the image in the given Graphics object.

Syntax

Visual Basic (Declaration)  
Public Overloads Sub PaintCmykPlanes( _
   ByVal graphics As Graphics, _
   ByVal srcRect As Rectangle, _
   ByVal srcClipRect As Rectangle, _
   ByVal destRect As Rectangle, _
   ByVal destClipRect As Rectangle, _
   ByVal properties As RasterPaintProperties, _
   ByVal colorConverter As Object _
) 
Visual Basic (Usage) Copy Code
Dim instance As RasterImage
Dim graphics As Graphics
Dim srcRect As Rectangle
Dim srcClipRect As Rectangle
Dim destRect As Rectangle
Dim destClipRect As Rectangle
Dim properties As RasterPaintProperties
Dim colorConverter As Object
 
instance.PaintCmykPlanes(graphics, srcRect, srcClipRect, destRect, destClipRect, properties, colorConverter)
C#  
public void PaintCmykPlanes( 
   Graphics graphics,
   Rectangle srcRect,
   Rectangle srcClipRect,
   Rectangle destRect,
   Rectangle destClipRect,
   RasterPaintProperties properties,
   object colorConverter
)
C++/CLI  
public:
void PaintCmykPlanes( 
   Graphics graphics,
   Rectangle srcRect,
   Rectangle srcClipRect,
   Rectangle destRect,
   Rectangle destClipRect,
   RasterPaintProperties properties,
   Object^ colorConverter
) 

Parameters

graphics
The destination Graphics object where the CMYK planes will be displayed.
srcRect

A Rectangle 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 Rectangle 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 Rectangle object that determines how the source rectangle is scaled and how the image is positioned in the destination graphics object.

The coordinates in the destRect object are relative to the graphics object. There is no default for this parameter. You must specify the Rectangle object.

destClipRect

A Rectangle 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 Graphics object. You can pass Rectangle.Empty to use the default, which matches the Graphics object. 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.

Example

Visual Basic Copy Code
Public Sub PaintCmykPlanesExample()
   Dim f As PaintCmykPlanesForm = New PaintCmykPlanesForm()
   f.ShowDialog()
End Sub

Private Class PaintCmykPlanesForm : Inherits Form
   Private image As RasterImage

   Public Sub New()
      ' Load the cmyk planes
      RasterCodecs.Startup()
      Dim codecs As RasterCodecs = New RasterCodecs()

      Dim srcFileName As String = LeadtoolsExamples.Common.ImagesPath.Path + "cmyk.tif"
      image = codecs.LoadCmykPlanes(srcFileName, 0, 1)

      Text = "PaintCmykPlanes Example"
   End Sub

   Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
      ' Clean up
      If disposing Then
         image.Dispose()
         RasterCodecs.Shutdown()
      End If

      MyBase.Dispose(disposing)
   End Sub

   Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)
      ' Draw the image fit and center on this form
      Dim destRect As Rectangle = RasterImage.CalculatePaintModeRectangle(image.ImageWidth, image.ImageHeight, ClientRectangle, RasterPaintSizeMode.Fit, RasterPaintAlignMode.Center, RasterPaintAlignMode.Center)
      Dim props As RasterPaintProperties = RasterPaintProperties.Default
      props.UsePaintPalette = True
      image.PaintCmykPlanes(e.Graphics, Rectangle.Empty, Rectangle.Empty, destRect, Rectangle.Empty, props, Nothing)

      MyBase.OnPaint(e)
   End Sub
End Class
C# Copy Code
public void PaintCmykPlanesExample() 

   PaintCmykPlanesForm f = new PaintCmykPlanesForm(); 
   f.ShowDialog(); 

 
class PaintCmykPlanesForm : Form 

   RasterImage image; 
 
   public PaintCmykPlanesForm() 
   { 
      // Load the cmyk planes 
      RasterCodecs.Startup(); 
      RasterCodecs codecs = new RasterCodecs(); 
 
      string srcFileName = LeadtoolsExamples.Common.ImagesPath.Path + "cmyk.tif"; 
      image = codecs.LoadCmykPlanes(srcFileName, 0, 1); 
 
      Text = "PaintCmykPlanes Example"; 
   } 
 
   protected override void Dispose(bool disposing) 
   { 
      // Clean up 
      if(disposing) 
      { 
         image.Dispose(); 
         RasterCodecs.Shutdown(); 
      } 
 
      base.Dispose(disposing); 
   } 
 
   protected override void OnPaint(PaintEventArgs e) 
   { 
      // Draw the image fit and center on this form 
      Rectangle destRect = RasterImage.CalculatePaintModeRectangle( 
         image.ImageWidth, 
         image.ImageHeight, 
         ClientRectangle, 
         RasterPaintSizeMode.Fit, 
         RasterPaintAlignMode.Center, 
         RasterPaintAlignMode.Center); 
      RasterPaintProperties props = RasterPaintProperties.Default; 
      props.UsePaintPalette = true; 
      image.PaintCmykPlanes(e.Graphics, Rectangle.Empty, Rectangle.Empty, destRect, Rectangle.Empty, props, null); 
 
      base.OnPaint(e); 
   } 
}

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 Visual Basic) 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 Changing Image Coordinates.

For more information, refer to Handling Palette Changes.

For more information, refer to Flags for the PaintDisplayMode Property.

Requirements

Target Platforms: Microsoft .NET Framework 3.0, Windows XP, Windows Server 2003 family, Windows Server 2008 family

See Also