LEADTOOLS GDI/GDI+ (Leadtools.Drawing assembly) Send comments on this topic. | Back to Introduction - All Topics | Help Version 17.0.3.29
AddRegionToRegion(RasterImage,RasterRegionXForm,IntPtr,RasterRegionCombineMode) Method
See Also 



image
The source image.
xform
Leadtools.RasterRegionXForm object that LEADTOOLS uses to translate between display coordinates and image coordinates. If you specify null (Nothing in Visual Basic) in this parameter, the scalar fields default to 1, the offsets default to 0, and the view perspective defaults to the image view perspective.
region
The Windows region handle to add.
combineMode
The action to take regarding the existing image region, if one is defined.
image
The source image.
xform
Leadtools.RasterRegionXForm object that LEADTOOLS uses to translate between display coordinates and image coordinates. If you specify null (Nothing in Visual Basic) in this parameter, the scalar fields default to 1, the offsets default to 0, and the view perspective defaults to the image view perspective.
region
The Windows region handle to add.
combineMode
The action to take regarding the existing image region, if one is defined.
Creates or updates a LEADTOOLS image region by adding the specified Windows region handle.

Syntax

Visual Basic (Declaration) 
Overloads Public Shared Sub AddRegionToRegion( _
   ByVal image As RasterImage, _
   ByVal xform As RasterRegionXForm, _
   ByVal region As IntPtr, _
   ByVal combineMode As RasterRegionCombineMode _
) 
Visual Basic (Usage)Copy Code
Dim image As RasterImage
Dim xform As RasterRegionXForm
Dim region As IntPtr
Dim combineMode As RasterRegionCombineMode
 
RasterRegionConverter.AddRegionToRegion(image, xform, region, combineMode)
C# 
public static void AddRegionToRegion( 
   RasterImage image,
   RasterRegionXForm xform,
   IntPtr region,
   RasterRegionCombineMode combineMode
)
C++/CLI 
public:
static void AddRegionToRegion( 
   RasterImage^ image,
   RasterRegionXForm^ xform,
   IntPtr region,
   RasterRegionCombineMode combineMode
) 

Parameters

image
The source image.
xform
Leadtools.RasterRegionXForm object that LEADTOOLS uses to translate between display coordinates and image coordinates. If you specify null (Nothing in Visual Basic) in this parameter, the scalar fields default to 1, the offsets default to 0, and the view perspective defaults to the image view perspective.
region
The Windows region handle to add.
combineMode
The action to take regarding the existing image region, if one is defined.

Example

Visual BasicCopy Code
Public Sub AddRegionToRegionGdi_Example()
   Dim codecs As New RasterCodecs()

   Dim srcFileName As String = LeadtoolsExamples.Common.ImagesPath.Path + "Image1.cmp"
   Dim destFileName As String = LeadtoolsExamples.Common.ImagesPath.Path + "Image1_AddRegionToRegion.bmp"

   ' Load the image
   Dim image As RasterImage = codecs.Load(srcFileName)

   ' Create a GDI+ region
   Dim region As Region

   Using path As New GraphicsPath()
      path.AddRectangle(New Rectangle(100, 100, 200, 200))
      path.AddEllipse(New Rectangle(150, 150, 200, 200))
      region = New Region(path)
   End Using

   ' Get the Windows GDI handle for this region
   Dim hrgn As IntPtr

   Using btmp As New Bitmap(1, 1)
      Using graphics As Graphics = graphics.FromImage(btmp)
         hrgn = region.GetHrgn(graphics)
      End Using
   End Using

   ' Add this region to the raster image
   RasterRegionConverter.AddRegionToRegion(image, Nothing, hrgn, RasterRegionCombineMode.Set)

   region.ReleaseHrgn(hrgn)
   region.Dispose()

   ' Draw something on the image
   Dim command As New InvertCommand()
   command.Run(image)

   ' Save the image
   codecs.Save(image, destFileName, RasterImageFormat.Bmp, 24)

   image.Dispose()
   codecs.Dispose()
End Sub
C#Copy Code
public void AddRegionToRegionGdi_Example()
   {
      RasterCodecs codecs = new RasterCodecs();

      string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp");
      string destFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1_AddRegionToRegion.bmp");

      // Load the image
      RasterImage image = codecs.Load(srcFileName);

      // Create a GDI+ region
      Region region;

      using(GraphicsPath path = new GraphicsPath())
      {
         path.AddRectangle(new Rectangle(100, 100, 200, 200));
         path.AddEllipse(new Rectangle(150, 150, 200, 200));
         region = new Region(path);
      }

      // Get the Windows GDI handle for this region
      IntPtr hrgn;

      using(Bitmap btmp = new Bitmap(1, 1))
      {
         using(Graphics graphics = Graphics.FromImage(btmp))
         {
            hrgn = region.GetHrgn(graphics);
         }
      }

      // Add this region to the raster image
      RasterRegionConverter.AddRegionToRegion(image, null, hrgn, RasterRegionCombineMode.Set);

      region.ReleaseHrgn(hrgn);
      region.Dispose();

      // Draw something on the image
      InvertCommand command = new InvertCommand();
      command.Run(image);

      // Save the image
      codecs.Save(image, destFileName, RasterImageFormat.Bmp, 24);

      image.Dispose();
      codecs.Dispose();
   }

static class LEAD_VARS
{
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}

Remarks

To update an existing region, you specify how the new region is to be combined with the existing one using the combineMode parameter. For more information, refer to Leadtools.RasterRegionCombineMode.

For more information, refer to Creating a Region.

For more information, refer to Saving A Region.

For more information, refer to Working with the Existing Region.

For more information refer to RasterImage and GDI/GDI+.

Requirements

Target Platforms: Silverlight 3.0, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7, MAC OS/X (Intel Only)

See Also