public static readonly int PatternCopy
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Drawing;
public void RasterPaintPropertiesExample()
{
// Create the form
PaintPropertiesForm f = new PaintPropertiesForm();
f.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:\LEADTOOLS22\Resources\Images";
}