←Select platform

RasterPaintProperties Structure

Summary

Controls the speed, quality, and style used when painting a Leadtools.RasterImage object using the Windows GDI or GDI+ engines.

Syntax
C#
VB
C++
public struct RasterPaintProperties 
Public Structure RasterPaintProperties  
   Inherits System.ValueType 
public value class RasterPaintProperties : public System.ValueType  

Remarks

The various RasterImagePainter.Paint method overloads require an instance of RasterPaintProperties to be passed. The members of the RasterPaintProperties controls the speed, quality, and style used when painting.

Example

The following example creates a Windows form with various controls to show different RasterPaintProperties options.

C#
VB
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.Drawing; 
 
public void RasterPaintPropertiesExample() 
{ 
   // Create the form  
   PaintPropertiesForm form = new PaintPropertiesForm(); 
   form.ShowDialog(); 
} 
 
class PaintPropertiesForm : Form 
{ 
   private int index = 0; 
   private RasterImage rasterImage; 
   private RasterPaintProperties paintProperties; 
 
   public PaintPropertiesForm() 
   { 
      Text = "GDI paint engine - normal - Double click to show next RasterPaintProperties options"; 
      SetStyle(ControlStyles.ResizeRedraw, true); 
      SetStyle(ControlStyles.AllPaintingInWmPaint, true); 
      SetStyle(ControlStyles.OptimizedDoubleBuffer, true); 
      SetStyle(ControlStyles.UserPaint, true); 
 
      // Load an image  
      string fileName = Path.Combine(LEAD_VARS.ImagesDir, "Ocr1.tif"); 
 
      using (RasterCodecs codecs = new RasterCodecs()) 
      { 
         codecs.ThrowExceptionsOnInvalidImages = true; 
         rasterImage = codecs.Load(fileName); 
      } 
 
      paintProperties = RasterPaintProperties.Default; 
 
      // Start with GDI paint engine and normal paint scaling 
      paintProperties.PaintEngine = RasterPaintEngine.Gdi; 
      paintProperties.PaintDisplayMode = RasterPaintDisplayModeFlags.None; 
   } 
 
   protected override void Dispose(bool disposing) 
   { 
      if (disposing) 
      { 
         if (rasterImage != null) 
            rasterImage.Dispose(); 
      } 
 
      base.Dispose(disposing); 
   } 
 
   protected override void OnDoubleClick(EventArgs e) 
   { 
      switch (index) 
      { 
         case 0: 
            Text = "GDI paint engine - SourceAnd ROP - Double click to show next RasterPaintProperties options"; 
            paintProperties.RasterOperation = RasterPaintProperties.SourceAnd; 
            break; 
 
         case 1: 
            Text = "GDI paint engine - Scale to gray - Double click to show next RasterPaintProperties options"; 
            paintProperties.RasterOperation = RasterPaintProperties.SourceCopy; 
            paintProperties.PaintDisplayMode = RasterPaintDisplayModeFlags.ScaleToGray; 
            break; 
 
         case 2: 
            Text = "GDI+ paint engine - Double click to set the opacity"; 
            paintProperties.PaintEngine = RasterPaintEngine.GdiPlus; 
            break; 
 
         case 3: 
            Text = "GDI+ paint engine - Opacity set to 50% - Done"; 
            paintProperties.Opacity = 128; 
            break; 
 
         default: 
            break; 
      } 
 
      index++; 
      Invalidate(); 
      base.OnDoubleClick(e); 
   } 
 
   protected override void OnPaint(PaintEventArgs e) 
   { 
      // Paint the image  
      LeadRect destRect = LeadRect.FromLTRB(ClientRectangle.Left, ClientRectangle.Top, ClientRectangle.Right, ClientRectangle.Bottom); 
      destRect = RasterImage.CalculatePaintModeRectangle( 
         rasterImage.ImageWidth, 
         rasterImage.ImageHeight, 
         destRect, 
         RasterPaintSizeMode.Fit, 
         RasterPaintAlignMode.Center, 
         RasterPaintAlignMode.Center); 
 
      RasterImagePainter.Paint(rasterImage, e.Graphics, destRect, paintProperties); 
 
      base.OnPaint(e); 
   } 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; 
} 
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.Drawing 
 
Public Sub RasterPaintPropertiesExample() 
   ' Create the form  
   Dim form As New PaintPropertiesForm() 
   form.ShowDialog() 
End Sub 
 
Class PaintPropertiesForm 
   Inherits Form 
   Private index As Integer = 0 
   Private rasterImage As RasterImage 
   Private paintProperties As RasterPaintProperties 
 
   Public Sub New() 
      Text = "GDI paint engine - normal - Double click to show next RasterPaintProperties options" 
      SetStyle(ControlStyles.ResizeRedraw, True) 
      SetStyle(ControlStyles.AllPaintingInWmPaint, True) 
      SetStyle(ControlStyles.OptimizedDoubleBuffer, True) 
      SetStyle(ControlStyles.UserPaint, True) 
 
      ' Load an image  
      Dim fileName As String = LeadtoolsExamples.Common.ImagesPath.Path + "Ocr1.tif" 
 
      Using codecs As New RasterCodecs() 
         codecs.ThrowExceptionsOnInvalidImages = True 
         rasterImage = codecs.Load(fileName) 
      End Using 
 
      paintProperties = RasterPaintProperties.Default 
 
      ' Start with GDI paint engine and normal paint scaling 
      paintProperties.PaintEngine = RasterPaintEngine.Gdi 
      paintProperties.PaintDisplayMode = RasterPaintDisplayModeFlags.None 
   End Sub 
 
   Protected Overrides Sub Dispose(ByVal disposing As Boolean) 
      If disposing Then 
         If Not IsNothing(rasterImage) Then 
            rasterImage.Dispose() 
         End If 
      End If 
 
      MyBase.Dispose(disposing) 
   End Sub 
 
   Protected Overrides Sub OnDoubleClick(ByVal e As EventArgs) 
      Select Case index 
         Case 0 
            Text = "GDI paint engine - SourceAnd ROP - Double click to show next RasterPaintProperties options" 
            paintProperties.RasterOperation = RasterPaintProperties.SourceAnd 
 
         Case 1 
            Text = "GDI paint engine - Scale to gray - Double click to show next RasterPaintProperties options" 
            paintProperties.RasterOperation = RasterPaintProperties.SourceCopy 
            paintProperties.PaintDisplayMode = RasterPaintDisplayModeFlags.ScaleToGray 
 
         Case 2 
            Text = "GDI+ paint engine - Double click to set the opacity" 
            paintProperties.PaintEngine = RasterPaintEngine.GdiPlus 
 
         Case 3 
            Text = "GDI+ paint engine - Opacity set to 50% - Done" 
            paintProperties.Opacity = 128 
      End Select 
 
      index = index + 1 
      Invalidate() 
      MyBase.OnDoubleClick(e) 
   End Sub 
 
   Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs) 
      ' Paint the image  
      Dim destRect As LeadRect = LeadRect.FromLTRB(ClientRectangle.Left, ClientRectangle.Top, ClientRectangle.Right, ClientRectangle.Bottom) 
      destRect = rasterImage.CalculatePaintModeRectangle( 
         rasterImage.ImageWidth, 
         rasterImage.ImageHeight, 
         destRect, 
         RasterPaintSizeMode.Fit, 
         RasterPaintAlignMode.Center, 
         RasterPaintAlignMode.Center) 
 
      RasterImagePainter.Paint(rasterImage, e.Graphics, destRect, paintProperties) 
 
      MyBase.OnPaint(e) 
   End Sub 
End Class 

Requirements

Target Platforms

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

Leadtools.Drawing Assembly