LEADTOOLS GDI/GDI+ (Leadtools.Drawing assembly)

RasterRegionConverter Class

Show in webframe
Example 





Members 
Converts between a LEADTOOLS Leadtools.RasterRegion and GDI HRGN and System.Drawing (GDI+) System.Drawing.Region objects.
Object Model
Syntax
public static class RasterRegionConverter 
'Declaration
 
Public MustInherit NotInheritable Class RasterRegionConverter 
'Usage
 
Dim instance As RasterRegionConverter

            

            
public ref class RasterRegionConverter abstract sealed 
Remarks

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+.

Example
Copy Code  
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";
}
Requirements

Target Platforms

See Also

Reference

RasterRegionConverter Members
Leadtools.Drawing Namespace

 

 


Products | Support | Contact Us | Copyright Notices
© 2006-2014 All Rights Reserved. LEAD Technologies, Inc.