AddRegionToRegion(RasterImage,RasterRegionXForm,IntPtr,RasterRegionCombineMode) Method
Summary
Creates or updates a LEADTOOLS image region by adding the specified Windows region handle.
Syntax
Parameters
region
The Windows region handle to add.
combineMode
The action to take regarding the existing image region, if one is defined.
Example
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.Drawing
Imports Leadtools.ImageProcessing
Imports Leadtools.ImageProcessing.Color
<TestMethod()> _
Public Sub AddRegionToRegionGdi_Example()
Dim codecs As New RasterCodecs()
Dim srcFileName As String = LeadtoolsExamples.Common.ImagesPath.Path + "Image1.cmp"
Dim destFileName As String = LeadtoolsExamples.Common.ImagesPath.Path + "Image1_AddRegionToRegion.bmp"
' Load the image
Dim image As RasterImage = codecs.Load(srcFileName)
' Create a GDI+ region
Dim region As Region
Using path As New GraphicsPath()
path.AddRectangle(New Rectangle(100, 100, 200, 200))
path.AddEllipse(New Rectangle(150, 150, 200, 200))
region = New Region(path)
End Using
' Get the Windows GDI handle for this region
Dim hrgn As IntPtr
Using btmp As New Bitmap(1, 1)
Using graphics As Graphics = graphics.FromImage(btmp)
hrgn = region.GetHrgn(graphics)
End Using
End Using
' Add this region to the raster image
RasterRegionConverter.AddRegionToRegion(image, Nothing, hrgn, RasterRegionCombineMode.Set)
region.ReleaseHrgn(hrgn)
region.Dispose()
' Draw something on the image
Dim command As New InvertCommand()
command.Run(image)
' Save the image
codecs.Save(image, destFileName, RasterImageFormat.Bmp, 24)
image.Dispose()
codecs.Dispose()
End Sub
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Drawing;
using Leadtools.ImageProcessing;
using Leadtools.ImageProcessing.Color;
public void AddRegionToRegionGdi_Example()
{
RasterCodecs codecs = new RasterCodecs();
string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp");
string destFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1_AddRegionToRegion.bmp");
// Load the image
RasterImage image = codecs.Load(srcFileName);
// Create a GDI+ region
Region region;
using(GraphicsPath path = new GraphicsPath())
{
path.AddRectangle(new Rectangle(100, 100, 200, 200));
path.AddEllipse(new Rectangle(150, 150, 200, 200));
region = new Region(path);
}
// Get the Windows GDI handle for this region
IntPtr hrgn;
using(Bitmap btmp = new Bitmap(1, 1))
{
using(Graphics graphics = Graphics.FromImage(btmp))
{
hrgn = region.GetHrgn(graphics);
}
}
// Add this region to the raster image
RasterRegionConverter.AddRegionToRegion(image, null, hrgn, RasterRegionCombineMode.Set);
region.ReleaseHrgn(hrgn);
region.Dispose();
// Draw something on the image
InvertCommand command = new InvertCommand();
command.Run(image);
// Save the image
codecs.Save(image, destFileName, RasterImageFormat.Bmp, 24);
image.Dispose();
codecs.Dispose();
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}