LEADTOOLS (Leadtools assembly) Send comments on this topic. | Back to Introduction - All Topics | Help Version 17.0.3.29
RasterImage Constructor(RasterImage)
See Also  Example
Leadtools Namespace > RasterImage Class > RasterImage Constructor : RasterImage Constructor(RasterImage)



srcImage
The RasterImage from which to create the new RasterImage.
Constructs a new RasterImage from the specified existing RasterImage object. Supported in Silverlight, Windows Phone 7

Syntax

Visual Basic (Declaration) 
Public Function New( _
   ByVal srcImage As RasterImage _
)
Visual Basic (Usage)Copy Code
Dim srcImage As RasterImage
 
Dim instance As New RasterImage(srcImage)
C# 
public RasterImage( 
   RasterImage srcImage
)
C++/CLI 
public:
RasterImage( 
   RasterImage^ srcImage
)

Parameters

srcImage
The RasterImage from which to create the new RasterImage.

Example

This example derives a new class from then use the RasterImage(RasterImage) constructor.

Visual BasicCopy Code
' 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
C#Copy Code
// 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";
}
SilverlightCSharpCopy Code
// 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();
}
SilverlightVBCopy Code
' 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

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.

Requirements

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

See Also