public static class RasterRegionConverter This class lets you easily convert between a LEADTOOLS Leadtools.RasterRegion object and a WPF System.Windows.Media.Geometry 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+, and WPF. Use this class To convert a LEADTOOLS Leadtools.RasterRegion object to/from a WPF System.Windows.Media.Geometry object.
For more information refer to RasterImage and WPF.
using Leadtools;using Leadtools.Codecs;using Leadtools.ImageProcessing;using Leadtools.Windows.Media;public void RasterRegionConverterExample(){// Load an imagestring 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 WPF, create an elliptical geometry// Create the ellipse geometry to add to the PathEllipseGeometry ellipseGeometry = new EllipseGeometry();ellipseGeometry.Center = new Point(250, 250);ellipseGeometry.RadiusX = 200;ellipseGeometry.RadiusY = 150;Geometry geometry = ellipseGeometry;// Create a RasterRegion from this regionusing (RasterRegion region = RasterRegionConverter.ConvertFromGeometry(geometry)){// Add this region to the imageimage.SetRegion(null, region, RasterRegionCombineMode.Set);}// Fill the image with a colorFillCommand cmd = new FillCommand(RasterColor.FromKnownColor(RasterKnownColor.Red));cmd.Run(image);// Save itcodecs.Save(image, dstFileName1, RasterImageFormat.Jpeg, 24);// Now get the WPF geometry from the imageusing (RasterRegion region = image.GetRegion(null)){geometry = RasterRegionConverter.ConvertToGeometry(region, null);}// Move the geometry 100 pixels to the right and bottomgeometry.Transform = new TranslateTransform(100, 100);// Re-set it into the image, fill again and save// Create a RasterRegion from this regionusing (RasterRegion region = RasterRegionConverter.ConvertFromGeometry(geometry)){// Add this region to the imageimage.SetRegion(null, region, RasterRegionCombineMode.Set);}// Fill the image with a colorcmd = new FillCommand(RasterColor.FromKnownColor(RasterKnownColor.Yellow));cmd.Run(image);// Save itcodecs.Save(image, dstFileName2, RasterImageFormat.Jpeg, 24);image.Dispose();codecs.Dispose();}static class LEAD_VARS{public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images";}