LEADTOOLS Image File Support (Leadtools.Codecs assembly) Send comments on this topic. | Back to Introduction - All Topics | Help Version 17.0.3.29
LoadPage Event
See Also 
Leadtools.Codecs Namespace > RasterCodecs Class : LoadPage Event



Occurs once for each page loaded from an image file.

Syntax

Visual Basic (Declaration) 
Public Event LoadPage As EventHandler(Of CodecsPageEventArgs)
Visual Basic (Usage)Copy Code
Dim instance As RasterCodecs
Dim handler As EventHandler(Of CodecsPageEventArgs)
 
AddHandler instance.LoadPage, handler
C# 
public event EventHandler<CodecsPageEventArgs> LoadPage
C++/CLI 
public:
event EventHandler<CodecsPageEventArgs^>^ LoadPage

Event Data

The event handler receives an argument of type CodecsPageEventArgs containing data related to this event. The following CodecsPageEventArgs properties provide information specific to this event.

PropertyDescription
Command Gets or sets a value indicating how the load or save process should continue.
FileName Gets the name of the file being loaded or saved.
Image Gets the object being loaded from the image file page or the image that is being saved.
Page Gets the page number of the image being loaded or saved.
PageCount Gets the number of pages being loaded or saved.
State Gets the state of the load or save process.

Example

Visual BasicCopy Code
Private Sub Codecs_LoadSavePage(ByVal sender As Object, ByVal e As CodecsPageEventArgs)
      If e.State = CodecsPageEventState.After Then
         Console.WriteLine("The image has been processed")
      Else
         Console.WriteLine("The image has not processed yet")
      End If
      If e.Page > 5 Then
         e.Command = CodecsPageEventCommand.Stop
      End If

      Console.WriteLine("File name is: {0}", e.FileName)
      If Not e.Image Is Nothing Then
         Console.WriteLine("The Image width and height is: {0},{1}", e.Image.Width, e.Image.Height)
      End If
      Console.WriteLine("Page Index is: {0}", e.Page)
      Console.WriteLine("Page Count is: {0}", e.PageCount)
   End Sub


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

      AddHandler codecs.LoadPage, AddressOf Codecs_LoadSavePage
      AddHandler codecs.SavePage, AddressOf Codecs_LoadSavePage

      Dim image As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp"))
      codecs.Save(image, Path.Combine(LEAD_VARS.ImagesDir, "loadsave.jpg"), RasterImageFormat.Jpeg, image.BitsPerPixel)

      RemoveHandler codecs.LoadPage, AddressOf Codecs_LoadSavePage
      RemoveHandler codecs.SavePage, AddressOf Codecs_LoadSavePage

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

Public NotInheritable Class LEAD_VARS
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
C#Copy Code
private void Codecs_LoadSavePage(object sender, CodecsPageEventArgs e)
   {
      if(e.State == CodecsPageEventState.After)
         Console.WriteLine("The image has been processed");
      else
         Console.WriteLine("The image has not processed yet");
      if(e.Page > 5)
         e.Command = CodecsPageEventCommand.Stop;

      Console.WriteLine("File name is: {0}", e.FileName);
      if(e.Image != null)
         Console.WriteLine("The Image width and height is: {0},{1}", e.Image.Width, e.Image.Height);
      Console.WriteLine("Page Index is: {0}", e.Page);
      Console.WriteLine("Page Count is: {0}", e.PageCount);
   }

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

      codecs.LoadPage += new EventHandler<CodecsPageEventArgs>(Codecs_LoadSavePage);
      codecs.SavePage += new EventHandler<CodecsPageEventArgs>(Codecs_LoadSavePage);

      RasterImage image = codecs.Load( Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp"));
      codecs.Save(image,  Path.Combine(LEAD_VARS.ImagesDir, "loadsave.jpg"), RasterImageFormat.Jpeg, image.BitsPerPixel);

      codecs.LoadPage -= new EventHandler<CodecsPageEventArgs>(Codecs_LoadSavePage);
      codecs.SavePage -= new EventHandler<CodecsPageEventArgs>(Codecs_LoadSavePage);

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

static class LEAD_VARS
{
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
SilverlightCSharpCopy Code
private void Codecs_LoadSavePage(object sender, CodecsPageEventArgs e)
{
   if(e.State == CodecsPageEventState.After)
      Debug.WriteLine("The image has been processed");
   else
      Debug.WriteLine("The image has not processed yet");
   if(e.Page > 5)
      e.Command = CodecsPageEventCommand.Stop;

   Debug.WriteLine("File name is: {0}", e.FileName);
   if(e.Image != null)
      Debug.WriteLine("The Image width and height is: {0},{1}", e.Image.Width, e.Image.Height);
   Debug.WriteLine("Page Index is: {0}", e.Page);
   Debug.WriteLine("Page Count is: {0}", e.PageCount);
}

public void LoadPageExample(Stream inStream, Stream outStream)
{
   RasterCodecs codecs = new RasterCodecs();

   codecs.LoadPage += new EventHandler<CodecsPageEventArgs>(Codecs_LoadSavePage);
   codecs.SavePage += new EventHandler<CodecsPageEventArgs>(Codecs_LoadSavePage);

   RasterImage image = codecs.Load(inStream);

   codecs.Save(image, outStream, RasterImageFormat.Jpeg, image.BitsPerPixel);

   codecs.LoadPage -= new EventHandler<CodecsPageEventArgs>(Codecs_LoadSavePage);
   codecs.SavePage -= new EventHandler<CodecsPageEventArgs>(Codecs_LoadSavePage);

   // Clean up
   image.Dispose();
}
SilverlightVBCopy Code
Private Sub Codecs_LoadSavePage(ByVal sender As Object, ByVal e As CodecsPageEventArgs)
   If e.State = CodecsPageEventState.After Then
      Debug.WriteLine("The image has been processed")
   Else
      Debug.WriteLine("The image has not processed yet")
   End If
   If e.Page > 5 Then
      e.Command = CodecsPageEventCommand.Stop
   End If

   Debug.WriteLine("File name is: {0}", e.FileName)
   If Not e.Image Is Nothing Then
      Debug.WriteLine("The Image width and height is: {0},{1}", e.Image.Width, e.Image.Height)
   End If
   Debug.WriteLine("Page Index is: {0}", e.Page)
   Debug.WriteLine("Page Count is: {0}", e.PageCount)
End Sub

Public Sub LoadPageExample(ByVal inStream As Stream, ByVal outStream As Stream)
   Dim codecs As RasterCodecs = New RasterCodecs()

   AddHandler codecs.LoadPage, AddressOf Codecs_LoadSavePage
   AddHandler codecs.SavePage, AddressOf Codecs_LoadSavePage

   Dim image As RasterImage = codecs.Load(inStream)

   codecs.Save(image, outStream, RasterImageFormat.Jpeg, image.BitsPerPixel)

   RemoveHandler codecs.LoadPage, AddressOf Codecs_LoadSavePage
   RemoveHandler codecs.SavePage, AddressOf Codecs_LoadSavePage

   ' Clean up
   image.Dispose()
End Sub

Remarks

This event will fire once for each page loaded with any of the RasterCodecs.Load and RasterCodecs.LoadAsync methods. You can use this event to get information about the image pages being loaded or to skip loading certain pages.

Requirements

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

See Also