Creates or updates a LEADTOOLS image region using the specified GDI+ region data.

This example will use AddGdiPlusDataToRegion and GetGdiPlusRegionData to add an elliptical region to a Leadtools.RasterImage, gets the region as a GDI+ RegionData object then re-sets it in another image.
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.Drawing
Imports Leadtools.ImageProcessing
Imports Leadtools.ImageProcessing.Color
<TestMethod()> _
Public Sub GdiPlusRegionDataExample()
Dim codecs As New RasterCodecs()
Dim srcFileName As String = LeadtoolsExamples.Common.ImagesPath.Path + "Image1.cmp"
Dim destFileName As String = LeadtoolsExamples.Common.ImagesPath.Path + "Image1_GdiPlusData.bmp"
Dim gdipRegionData As RegionData = Nothing
' Load the source image
Using image As RasterImage = codecs.Load(srcFileName)
' Add a polygon region to it
' Add a polygon region to the image
Dim x1 As Integer = image.ImageWidth \ 4
Dim y1 As Integer = image.ImageHeight \ 4
Dim x2 As Integer = image.ImageWidth \ 3
Dim y2 As Integer = image.ImageHeight \ 3
Dim pts() As LeadPoint = _
{ _
New LeadPoint(x1, y1), _
New LeadPoint(x2, y1), _
New LeadPoint(x1, y2), _
New LeadPoint(x2, y2) _
}
image.AddPolygonToRegion(Nothing, pts, LeadFillMode.Winding, RasterRegionCombineMode.Set)
' Save the region as a GDI+ RegionData object
gdipRegionData = RasterRegionConverter.GetGdiPlusRegionData(image, Nothing)
End Using
' Re-load the source image
Using image As RasterImage = codecs.Load(srcFileName)
' Add the GDI+ region data we saved to it
RasterRegionConverter.AddGdiPlusDataToRegion(image, Nothing, gdipRegionData, RasterRegionCombineMode.Set)
' Fill this region with Yellow
Dim cmd As New FillCommand(RasterColor.FromKnownColor(RasterKnownColor.Yellow))
cmd.Run(image)
' Save this image
codecs.Save(image, destFileName, RasterImageFormat.Bmp, 24)
End Using
codecs.Dispose()
End Sub
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Drawing;
using Leadtools.ImageProcessing;
using Leadtools.ImageProcessing.Color;
[TestMethod]
public void GdiPlusRegionDataExample()
{
RasterCodecs codecs = new RasterCodecs();
string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp");
string destFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1_GdiPlusData.bmp");
RegionData gdipRegionData = null;
// Load the source image
using(RasterImage image = codecs.Load(srcFileName))
{
// Add a polygon region to it
// Add a polygon region to the image
int x1 = image.ImageWidth / 4;
int y1 = image.ImageHeight / 4;
int x2 = image.ImageWidth / 3;
int y2 = image.ImageHeight / 3;
LeadPoint[] pts =
{
new LeadPoint(x1, y1),
new LeadPoint(x2, y1),
new LeadPoint(x1, y2),
new LeadPoint(x2, y2)
};
image.AddPolygonToRegion(null, pts, LeadFillMode.Winding, RasterRegionCombineMode.Set);
// Save the region as a GDI+ RegionData object
gdipRegionData = RasterRegionConverter.GetGdiPlusRegionData(image, null);
}
// Re-load the source image
using(RasterImage image = codecs.Load(srcFileName))
{
// Add the GDI+ region data we saved to it
RasterRegionConverter.AddGdiPlusDataToRegion(image, null, gdipRegionData, RasterRegionCombineMode.Set);
// Fill this region with Yellow
FillCommand cmd = new FillCommand(RasterColor.FromKnownColor(RasterKnownColor.Yellow));
cmd.Run(image);
// Save this image
codecs.Save(image, destFileName, RasterImageFormat.Bmp, 24);
}
codecs.Dispose();
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}