public static class RasterRegionConverter
'Declaration Public MustInherit NotInheritable Class RasterRegionConverter
'Usage Dim instance As RasterRegionConverter
public ref class RasterRegionConverter abstract sealed
This class lets you easily convert between a LEADTOOLS Leadtools.RasterRegion object and a GDI HRGN or System.Drawing (GDI+) System.Drawing.Region object.
The LEADTOOLS Leadtools.RasterRegion class provides a platform independent representation of an area of interest in a Leadtools.RasterImage that can be used in any platform supported by LEADTOOLS such as GDI, GDI+, WPF and Silverlight. Use this class To convert a LEADTOOLS Leadtools.RasterRegion object to/from a GDI HRGN and System.Drawing (GDI+) System.Drawing.Region object.
For more information refer to RasterImage and GDI/GDI+.
Imports Leadtools Imports Leadtools.Codecs Imports Leadtools.Drawing Imports Leadtools.ImageProcessing Imports Leadtools.ImageProcessing.Color Public Sub RasterRegionConverterExample() ' Load an image Dim srcFileName As String = LeadtoolsExamples.Common.ImagesPath.Path + "Image1.cmp" Dim dstFileName1 As String = LeadtoolsExamples.Common.ImagesPath.Path + "Image1_Ellipse.jpg" Dim dstFileName2 As String = LeadtoolsExamples.Common.ImagesPath.Path + "Image1_EllipseTranslated.jpg" Dim codecs As New RasterCodecs() Dim image As RasterImage = codecs.Load(srcFileName) ' We will add an ellipse region to the image ' Using GDI+, create an elliptical region Dim gdipRegion As Region Using path As New GraphicsPath() path.AddEllipse(100, 200, 400, 300) gdipRegion = New Region(path) End Using ' Create a RasterRegion from this region Using region As RasterRegion = RasterRegionConverter.ConvertFromRegion(gdipRegion) ' Add this region to the image image.SetRegion(Nothing, region, RasterRegionCombineMode.Set) End Using gdipRegion.Dispose() ' Fill the image with a color Dim cmd As New FillCommand(RasterColor.FromKnownColor(RasterKnownColor.Red)) cmd.Run(image) ' Save it codecs.Save(image, dstFileName1, RasterImageFormat.Jpeg, 24) ' Now get the GDI+ region from the image Using region As RasterRegion = image.GetRegion(Nothing) ' Convert it to GDI+ gdipRegion = RasterRegionConverter.ConvertToRegion(region, Nothing) End Using ' Move the region 100 pixels to the right and bottom gdipRegion.Translate(100, 100) ' Re-set it into the image, fill again and save ' Create a RasterRegion from this region Using region As RasterRegion = RasterRegionConverter.ConvertFromRegion(gdipRegion) ' Add this region to the image image.SetRegion(Nothing, region, RasterRegionCombineMode.Set) End Using gdipRegion.Dispose() ' Fill the image with a color cmd = New FillCommand(RasterColor.FromKnownColor(RasterKnownColor.Yellow)) cmd.Run(image) ' Save it codecs.Save(image, dstFileName2, RasterImageFormat.Jpeg, 24) image.Dispose() codecs.Dispose() End Sub
using Leadtools; using Leadtools.Codecs; using Leadtools.Drawing; using Leadtools.ImageProcessing; using Leadtools.ImageProcessing.Color; public void RasterRegionConverterExample() { // Load an image string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp"); string dstFileName1 = Path.Combine(LEAD_VARS.ImagesDir, "Image1_Ellipse.jpg"); string dstFileName2 = Path.Combine(LEAD_VARS.ImagesDir, "Image1_EllipseTranslated.jpg"); RasterCodecs codecs = new RasterCodecs(); RasterImage image = codecs.Load(srcFileName); // We will add an ellipse region to the image // Using GDI+, create an elliptical region Region gdipRegion; using(GraphicsPath path = new GraphicsPath()) { path.AddEllipse(100, 200, 400, 300); gdipRegion = new Region(path); } // Create a RasterRegion from this region using(RasterRegion region = RasterRegionConverter.ConvertFromRegion(gdipRegion)) { // Add this region to the image image.SetRegion(null, region, RasterRegionCombineMode.Set); } gdipRegion.Dispose(); // Fill the image with a color FillCommand cmd = new FillCommand(RasterColor.FromKnownColor(RasterKnownColor.Red)); cmd.Run(image); // Save it codecs.Save(image, dstFileName1, RasterImageFormat.Jpeg, 24); // Now get the GDI+ region from the image using(RasterRegion region = image.GetRegion(null)) { // Convert it to GDI+ gdipRegion = RasterRegionConverter.ConvertToRegion(region, null); } // Move the region 100 pixels to the right and bottom gdipRegion.Translate(100, 100); // Re-set it into the image, fill again and save // Create a RasterRegion from this region using(RasterRegion region = RasterRegionConverter.ConvertFromRegion(gdipRegion)) { // Add this region to the image image.SetRegion(null, region, RasterRegionCombineMode.Set); } gdipRegion.Dispose(); // Fill the image with a color cmd = new FillCommand(RasterColor.FromKnownColor(RasterKnownColor.Yellow)); cmd.Run(image); // Save it codecs.Save(image, dstFileName2, RasterImageFormat.Jpeg, 24); image.Dispose(); codecs.Dispose(); } static class LEAD_VARS { public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; }