LEADTOOLS (Leadtools assembly)
LEAD Technologies, Inc

RasterImage Constructor(RasterImage)

Example 





The RasterImage from which to create the new RasterImage.
Constructs a new RasterImage from the specified existing RasterImage object. .NET support Silverlight support WinRT support
Syntax
public RasterImage( 
   RasterImage srcImage
)
'Declaration
 
Public Function New( _
   ByVal srcImage As RasterImage _
)
'Usage
 
Dim srcImage As RasterImage
 
Dim instance As New RasterImage(srcImage)
public RasterImage( 
   RasterImage srcImage
)
function RasterImage( 
   srcImage 
)
public:
RasterImage( 
   RasterImage^ srcImage
)

Parameters

srcImage
The RasterImage from which to create the new RasterImage.
Remarks

This constructor will "pull" all the internal data (image pages, metadata, etc) from srcImage and puts a copy of them into the newly created RasterImage.

After calling this constructor, srcImage remains valid and changes to its properties or data will not affect the newly created RasterImage object.

This constructor is useful when deriving your own classes from RasterImage as shown in the example below.

For more information, refer to Grayscale Images.

Example
 
' A class that derives from RasterImage
   Public Class MyRasterImage : Inherits RasterImage
      Private _myData As Integer
      Public Sub New(ByVal src As RasterImage)

         MyBase.New(src)
         _myData = 0
      End Sub

      Public Property MyData() As Integer
         Get
            Return _myData
         End Get
         Set(ByVal value As Integer)
            _myData = Value
         End Set
      End Property
   End Class


   Public Sub DerivedRasterImage()
      Dim codecs As RasterCodecs = New RasterCodecs()

      Dim srcFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp")

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

      ' create a new MyRasterImage instance out of this image
      Dim myImage As MyRasterImage = New MyRasterImage(img)

      ' img is inavlid now and shoule be disposed
      img.Dispose()

      ' Now you can use myImage just like any other RasterImage but with your own data
      myImage.PaintGamma = 50 ' RasterImage property
      myImage.MyData = 10 ' MyRasterImage property

      Debug.Assert(myImage.PaintGamma = 50)
      Debug.Assert(myImage.MyData = 10)

      ' Clean up
      myImage.Dispose()
      codecs.Dispose()
   End Sub

Public NotInheritable Class LEAD_VARS
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
// A class that derives from RasterImage
   public class MyRasterImage : RasterImage
   {
      private int _myData;
      public MyRasterImage(RasterImage src)
         :
         base(src)
      {
         _myData = 0;
      }

      public int MyData
      {
         get
         {
            return _myData;
         }
         set
         {
            _myData = value;
         }
      }
   }


   public void DerivedRasterImage()
   {
      RasterCodecs codecs = new RasterCodecs();

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

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

      // create a new MyRasterImage instance out of this image
      MyRasterImage myImage = new MyRasterImage(img);

      // img is inavlid now and shoule be disposed
      img.Dispose();

      // Now you can use myImage just like any other RasterImage but with your own data
      myImage.PaintGamma = 50;   // RasterImage property
      myImage.MyData = 10;       // MyRasterImage property

      Debug.Assert(myImage.PaintGamma == 50);
      Debug.Assert(myImage.MyData == 10);

      // Clean up
      myImage.Dispose();
      codecs.Dispose();
   }

static class LEAD_VARS
{
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
// A class that derives from RasterImage
public class MyRasterImage : RasterImage
{
   private int _myData;
   public MyRasterImage(RasterImage src)
      :
      base(src)
   {
      _myData = 0;
   }

   public int MyData
   {
      get
      {
         return _myData;
      }
      set
      {
         _myData = value;
      }
   }
}

public void DerivedRasterImage(RasterImage srcImage)
{
   // create a new MyRasterImage instance out of this image
   MyRasterImage myImage = new MyRasterImage(srcImage);

   // srcImage is inavlid now and should be disposed
   srcImage.Dispose();

   // Now you can use myImage just like any other RasterImage but with your own data
   myImage.TransparentColor = RasterColorConverter.FromColor(Colors.Blue);   // RasterImage property
   myImage.MyData = 10;       // MyRasterImage property

   Debug.Assert(myImage.MyData == 10);

   // Clean up
   myImage.Dispose();
}
' A class that derives from RasterImage
   Public Class MyRasterImage : Inherits RasterImage
      Private _myData As Integer
      Public Sub New(ByVal src As RasterImage)

MyBase.New(src)
         _myData = 0
      End Sub

      Public Property MyData() As Integer
         Get
            Return _myData
         End Get
         Set
            _myData = Value
         End Set
      End Property
   End Class

   Public Sub DerivedRasterImage(ByVal srcImage As RasterImage)
      ' create a new MyRasterImage instance out of this image
      Dim myImage As MyRasterImage = New MyRasterImage(srcImage)

      ' srcImage is inavlid now and should be disposed
      srcImage.Dispose()

      ' Now you can use myImage just like any other RasterImage but with your own data
      myImage.TransparentColor = RasterColorConverter.FromColor(Colors.Blue) ' RasterImage property
      myImage.MyData = 10 ' MyRasterImage property

      Debug.Assert(myImage.MyData = 10)

      ' Clean up
      myImage.Dispose()
     End Sub
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
Overload List

 

 


Products | Support | Contact Us | Copyright Notices

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