←Select platform

GetData Method

Summary

Returns an array of Byte that represents the information that describes this RasterRegion.

Syntax
C#
VB
C++
Java
public byte[] GetData() 
Public Function GetData() As Byte() 
public byte[] getData() 
public: 
array<byte>^ GetData();  

Return Value

An array of Byte that represents the information that describes this RasterRegion.

Remarks

You can use the GetData and SetData methods to save and load the content of a region to disk or memory.

If this RasterRegion is empty, then this method will return an array of 0 items.

Example

This example will loads an image, adds a region to it, gets the RasterRegion object from the image and set it to disk. It will then re-load this data from disk and set it back to another image.

C#
VB
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing; 
using LeadtoolsExamples.Common; 
 
public void RasterRegionDataExample() 
{ 
 
 
   string srcFileName = Path.Combine(ImagesPath.Path, "Image1.cmp"); 
   string destFileName1 = Path.Combine(ImagesPath.Path, "Image1_WithRegion1.bmp"); 
   string regionFileName = Path.Combine(ImagesPath.Path, "Image1_Region.bin"); 
   string destFileName2 = Path.Combine(ImagesPath.Path, "Image1_WithRegion2.bmp"); 
 
   RasterRegion region = null; 
   using (RasterCodecs codecs = new RasterCodecs()) 
   { 
      // Load the source image 
      using (RasterImage image = codecs.Load(srcFileName, 0, CodecsLoadByteOrder.BgrOrGray, 1, 1)) 
      { 
         // Add an elliptical region to it 
         image.AddEllipseToRegion(null, new LeadRect(0, 0, image.ImageWidth, image.ImageHeight), RasterRegionCombineMode.Set); 
 
         // Fill the image with a color and save it to disk to show the region 
         FillCommand cmd = new FillCommand(RasterColor.FromKnownColor(RasterKnownColor.Yellow)); 
         cmd.Run(image); 
 
         codecs.Save(image, destFileName1, RasterImageFormat.Bmp, 24); 
 
         // Get the region 
         region = image.GetRegion(null); 
      } 
 
      // Save this region to disk 
      byte[] data = region.GetData(); 
      File.WriteAllBytes(regionFileName, data); 
 
      // Dispose the region 
      region.Dispose(); 
 
      // Now, reload the image and region from disk, set the region into the image directly 
      // from the data we save, re-fill and save again 
      using (RasterImage image = codecs.Load(srcFileName, 0, CodecsLoadByteOrder.BgrOrGray, 1, 1)) 
      { 
         // Create a region from the data we saved on disk 
         data = File.ReadAllBytes(regionFileName); 
         using (region = new RasterRegion(data)) 
         { 
            // Set this region into the image 
            image.SetRegion(null, region, RasterRegionCombineMode.Set); 
         } 
 
         // Fill the image with a color and save it to disk to show the region 
         FillCommand cmd = new FillCommand(RasterColor.FromKnownColor(RasterKnownColor.Yellow)); 
         cmd.Run(image); 
 
         codecs.Save(image, destFileName2, RasterImageFormat.Bmp, 24); 
      } 
   } 
} 
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.ImageProcessing 
 
Public Sub RasterRegionDataExample() 
   Dim codecs As New RasterCodecs() 
 
   Dim srcFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp") 
   Dim destFileName1 As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1_WithRegion1.bmp") 
   Dim regionFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1_Region.bin") 
   Dim destFileName2 As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1_WithRegion2.bmp") 
 
   Dim region As RasterRegion = Nothing 
 
   ' Load the source image 
   Using image As RasterImage = codecs.Load(srcFileName, 0, CodecsLoadByteOrder.BgrOrGray, 1, 1) 
      ' Add an elliptical region to it 
      image.AddEllipseToRegion(Nothing, New LeadRect(0, 0, image.ImageWidth, image.ImageHeight), RasterRegionCombineMode.Set) 
 
      ' Fill the image with a color and save it to disk to show the region 
      Dim cmd As New FillCommand(RasterColor.FromKnownColor(RasterKnownColor.Yellow)) 
      cmd.Run(image) 
 
      codecs.Save(image, destFileName1, RasterImageFormat.Bmp, 24) 
 
      ' Get the region 
      region = image.GetRegion(Nothing) 
   End Using 
 
   ' Save this region to disk 
   Dim data() As Byte = region.GetData() 
   File.WriteAllBytes(regionFileName, data) 
 
   ' Dispose the region 
   region.Dispose() 
 
   ' Now, reload the image and region from disk, set the region into the image directly 
   ' from the data we save, re-fill and save again 
   Using image As RasterImage = codecs.Load(srcFileName, 0, CodecsLoadByteOrder.BgrOrGray, 1, 1) 
      ' Create a region from the data we saved on disk 
      data = File.ReadAllBytes(regionFileName) 
      region = New RasterRegion(data) 
      ' Set this region into the image 
      image.SetRegion(Nothing, region, RasterRegionCombineMode.Set) 
      region.Dispose() 
 
      ' Fill the image with a color and save it to disk to show the region 
      Dim cmd As New FillCommand(RasterColor.FromKnownColor(RasterKnownColor.Yellow)) 
      cmd.Run(image) 
 
      codecs.Save(image, destFileName2, RasterImageFormat.Bmp, 24) 
   End Using 
 
   codecs.Dispose() 
End Sub 
 
Public NotInheritable Class LEAD_VARS 
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" 
End Class 

Requirements

Target Platforms

Help Version 20.0.2020.4.2
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2020 LEAD Technologies, Inc. All Rights Reserved.

Leadtools Assembly