Controls the speed, quality, and style used when painting a
RasterImage object.
Syntax
Visual Basic (Declaration) | |
---|
Public Structure RasterPaintProperties
Inherits ValueType |
C# | |
---|
public struct RasterPaintProperties : ValueType |
C++/CLI | |
---|
public value class RasterPaintProperties : public ValueType |
Example
This example creates a windows form with various controls to shows the different RasterPaintProperties options
Visual Basic | Copy Code |
---|
Public Sub RasterPaintPropertiesExample()
Dim form As PaintPropertiesForm = New PaintPropertiesForm()
form.ShowDialog()
End Sub
Private Class PaintPropertiesForm : Inherits Form
Private index As Integer = 0
Private image As RasterImage
Private paintProperties As RasterPaintProperties
Public Sub New()
Text = "Double click to show next RasterPaintProperties options"
SetStyle(ControlStyles.ResizeRedraw, True)
SetStyle(ControlStyles.AllPaintingInWmPaint, True)
SetStyle(ControlStyles.OptimizedDoubleBuffer, True)
SetStyle(ControlStyles.UserPaint, True)
Dim fileName As String = LeadtoolsExamples.Common.ImagesPath.Path + "Ocr1.tif"
RasterCodecs.Startup()
Dim codecs As RasterCodecs = New RasterCodecs()
Try
codecs.ThrowExceptionsOnInvalidImages = True
Image = codecs.Load(fileName)
Finally
CType(codecs, IDisposable).Dispose()
End Try
RasterCodecs.Shutdown()
paintProperties = RasterPaintProperties.Default
End Sub
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not Image Is Nothing Then
Image.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
Protected Overrides Sub OnDoubleClick(ByVal e As EventArgs)
Select Case index
Case 0
Text = "SourceAnd ROP - Double click to show next RasterPaintProperties options"
paintProperties.RasterOperation = RasterPaintProperties.SourceAnd
Case 1
Text = "Scale to gray - Double click to show next RasterPaintProperties options"
paintProperties.RasterOperation = RasterPaintProperties.SourceCopy
paintProperties.PaintDisplayMode = RasterPaintDisplayModeFlags.ScaleToGray
Case 2
Text = "GDI+ paint engine - Done"
paintProperties.PaintEngine = RasterPaintEngine.GdiPlus
Case Else
End Select
index += 1
Invalidate()
MyBase.OnDoubleClick(e)
End Sub
Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)
Dim destRect As Rectangle = RasterImage.CalculatePaintModeRectangle(image.ImageWidth, image.ImageHeight, ClientRectangle, RasterPaintSizeMode.Fit, RasterPaintAlignMode.Center, RasterPaintAlignMode.Center)
Image.Paint(e.Graphics, destRect, paintProperties)
MyBase.OnPaint(e)
End Sub
End Class |
C# | Copy Code |
---|
public void RasterPaintPropertiesExample() { // Create the form PaintPropertiesForm form = new PaintPropertiesForm(); form.ShowDialog(); } class PaintPropertiesForm : Form { int index = 0; RasterImage rasterImage; RasterPaintProperties paintProperties; public PaintPropertiesForm() { Text = "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 = LeadtoolsExamples.Common.ImagesPath.Path + "Ocr1.tif"; RasterCodecs.Startup(); using(RasterCodecs codecs = new RasterCodecs()) { codecs.ThrowExceptionsOnInvalidImages = true; rasterImage = codecs.Load(fileName); } RasterCodecs.Shutdown(); paintProperties = RasterPaintProperties.Default; } 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 = "SourceAnd ROP - Double click to show next RasterPaintProperties options"; paintProperties.RasterOperation = RasterPaintProperties.SourceAnd; break; case 1: Text = "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 - Done"; paintProperties.PaintEngine = RasterPaintEngine.GdiPlus; break; default: break; } index++; Invalidate(); base.OnDoubleClick(e); } protected override void OnPaint(PaintEventArgs e) { // Paint the image Rectangle destRect = RasterImage.CalculatePaintModeRectangle( rasterImage.ImageWidth, rasterImage.ImageHeight, ClientRectangle, RasterPaintSizeMode.Fit, RasterPaintAlignMode.Center, RasterPaintAlignMode.Center); rasterImage.Paint(e.Graphics, destRect, paintProperties); base.OnPaint(e); } } |
Remarks
Inheritance Hierarchy
Requirements
Target Platforms: Microsoft .NET Framework 3.0, Windows XP, Windows Server 2003 family, Windows Server 2008 family
See Also