AddGdiPlusDataToRegion Method
Summary
Creates or updates a LEADTOOLS image region using the specified GDI+ region data.
Syntax
Parameters
data
A System.Drawing.Drawing2D.RegionData object that defines the region to add.
combineMode
The action to take regarding the existing image region, if one is defined.
Example
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.
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Drawing;
using Leadtools.ImageProcessing;
using Leadtools.ImageProcessing.Color;
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";
}
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.Drawing
Imports Leadtools.ImageProcessing
Imports Leadtools.ImageProcessing.Color
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