LEADTOOLS (Leadtools assembly)
LEAD Technologies, Inc

Data Property (RasterImage)

Example 





Gets the data for the image in native format. .NET support Silverlight support
Syntax
public object Data {get;}
'Declaration
 
Public ReadOnly Property Data As Object
'Usage
 
Dim instance As RasterImage
Dim value As Object
 
value = instance.Data
public object Data {get;}
 get_Data(); 
public:
property Object^ Data {
   Object^ get();
}

Property Value

The data for the image.
Remarks

This value should only be used with images created with user-defined data. Other type of images will return an undefined internal value.

Example
 
Public Sub DataExample()
      Dim codecs As RasterCodecs = New RasterCodecs()

      Dim destFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Data.bmp")

      ' Create an image with user defined data
      Dim width As Integer = 40
      Dim height As Integer = 40
      Dim bitsPerPixel As Integer = 24
      Dim size As Integer = width * height * 3
      Dim data1 As IntPtr = Marshal.AllocHGlobal(size)

      ' Load the image
      Dim image As RasterImage = New RasterImage(RasterMemoryFlags.User, width, height, bitsPerPixel, RasterByteOrder.Bgr, RasterViewPerspective.TopLeft, Nothing, data1, size)

      ' Get a pointer to the internal data and fill it with gray shades
      Dim dataSize As Integer = CInt(image.DataSize)

      Dim buffer As Byte() = New Byte(dataSize - 1) {}
      Dim inc As Boolean = True
      Dim value As Byte = 0
      Dim i As Integer = 0
      Do While i < buffer.Length
         buffer(i + 0) = value
         buffer(i + 1) = value
         buffer(i + 2) = value

         If inc Then
            If value = 255 Then
               inc = False
               value = 254
            Else
               value = value + Convert.ToByte(1)
            End If
         Else
            If value = 0 Then
               inc = True
               value = 1
            Else
               value = value - Convert.ToByte(1)
            End If
         End If
         i += 3
      Loop

      ' Copy this buffer to the image data
      Dim data2 As IntPtr = CType(image.Data, IntPtr)
      Marshal.Copy(buffer, 0, data2, buffer.Length)

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

      image.Dispose()
      Marshal.FreeHGlobal(data1)
      codecs.Dispose()
   End Sub

Public NotInheritable Class LEAD_VARS
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
public void DataExample()
   {
      RasterCodecs codecs = new RasterCodecs();

      string destFileName = Path.Combine(LEAD_VARS.ImagesDir, "Data.bmp");

      // Create an image with user defined data
      int width = 40;
      int height = 40;
      int bitsPerPixel = 24;
      int size = width * height * 3;
      IntPtr data1 = Marshal.AllocHGlobal(size);

      // Load the image
      RasterImage image = new RasterImage(
         RasterMemoryFlags.User,
         width,
         height,
         bitsPerPixel,
         RasterByteOrder.Bgr,
         RasterViewPerspective.TopLeft,
         null,
         data1,
         size);

      // Get a pointer to the internal data and fill it with gray shades
      long dataSize = image.DataSize;

      byte[] buffer = new byte[dataSize];
      bool inc = true;
      byte value = 0;
      for(int i = 0; i < buffer.Length; i += 3)
      {
         buffer[i + 0] = value;
         buffer[i + 1] = value;
         buffer[i + 2] = value;

         if(inc)
         {
            if(value == 255)
            {
               inc = false;
               value = 254;
            }
            else
               value++;
         }
         else
         {
            if(value == 0)
            {
               inc = true;
               value = 1;
            }
            else
               value--;
         }
      }

      // Copy this buffer to the image data
      IntPtr data2 = (IntPtr)image.Data;
      Marshal.Copy(buffer, 0, data2, buffer.Length);

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

      image.Dispose();
      Marshal.FreeHGlobal(data1);
      codecs.Dispose();
   }

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

Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also

Reference

RasterImage Class
RasterImage Members

 

 


Products | Support | Contact Us | Copyright Notices

© 2006-2012 All Rights Reserved. LEAD Technologies, Inc.