←Select platform

Data Property

Summary

Gets the data for the image in native format.

Syntax

C#
VB
Java
Objective-C
WinRT C#
C++
public object Data { get; } 
Public ReadOnly Property Data As Object 
public object Data {get;} 
@property (nonatomic, assign, readonly, nullable) const NSData *data 
public Object getData() 
 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

C#
VB
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing; 
using Leadtools.ImageProcessing.Core; 
using Leadtools.ImageProcessing.Color; 
using Leadtools.Dicom; 
using Leadtools.Drawing; 
using Leadtools.Controls; 
using LeadtoolsExamples.Common; 
using Leadtools.Svg; 
 
public void DataExample() 
{ 
   RasterCodecs codecs = new RasterCodecs(); 
 
   string destFileName = Path.Combine(ImagesPath.Path, "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(); 
} 
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.ImageProcessing 
Imports Leadtools.ImageProcessing.Core 
Imports Leadtools.ImageProcessing.Color 
Imports Leadtools.Controls 
Imports Leadtools.Dicom 
Imports Leadtools.Drawing 
Imports Leadtools.Svg 
 
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 

Requirements

Target Platforms

Help Version 19.0.2017.10.27
Products | Support | Contact Us | Copyright Notices
© 1991-2017 LEAD Technologies, Inc. All Rights Reserved.

Leadtools Assembly