public static void PaintRegion(
RasterImage image,
IntPtr hdc,
LeadRect srcRect,
LeadRect srcClipRect,
LeadRect destRect,
LeadRect destClipRect,
RasterPaintProperties properties
)
image
The source image.
hdc
The destination Windows device context handle where the image data 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.
This method works the same as Paint(RasterImage,Graphics,LeadRect,RasterPaintProperties), except that only the image region is painted.
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Drawing;
using Leadtools.ImageProcessing;
public void PaintRegionExample()
{
PaintRegionForm f = new PaintRegionForm();
f.ShowDialog();
}
class PaintRegionForm : Form
{
private RasterImage image;
public PaintRegionForm()
{
// Load the image
RasterCodecs codecs = new RasterCodecs();
string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp");
image = codecs.Load(srcFileName);
// add a region to the image
image.AddEllipseToRegion(
RasterRegionXForm.Default,
new LeadRect(image.Width / 4, image.Height / 4, image.Width / 2, image.Height / 2),
RasterRegionCombineMode.Set);
Text = "PaintRegion 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);
RasterImagePainter.PaintRegion(image, e.Graphics, LeadRect.Empty, LeadRect.Empty, destRect, LeadRect.Empty, RasterPaintProperties.Default);
base.OnPaint(e);
}
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images";
}