←Select platform

LoadImage Event

Summary

Occurs during the file load process to provide functionality for manually handling the output image data or monitoring a progress status. Loading|Events|Manual Handling|Monitoring|Image Files|LoadAsync

Syntax

C#
VB
Java
WinRT C#
C++
public event EventHandler<CodecsLoadImageEventArgs> LoadImage 
Public Event LoadImage As EventHandler(Of CodecsLoadImageEventArgs) 
public event EventHandler<CodecsLoadImageEventArgs> LoadImage 
synchronized public void addLoadImageListener(CodecsLoadImageListener listener) 
synchronized public void removeLoadImageListener(CodecsLoadImageListener listener) 
             
add_LoadImage(function(sender, e)) 
remove_LoadImage(function(sender, e)) 
public: 
event EventHandler<CodecsLoadImageEventArgs^>^ LoadImage 

Event Data

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

PropertyDescription
Buffer Gets the memory buffer containing one or more lines of output image data.
Cancel Gets or sets a value which allows the user to abort the load process.
FileName Gets the name of the file currently being loaded.
FirstPage Gets the index of the first page being loaded.
Flags Gets a value which describes whether this is the first or last call of the event, and whether the buffer contains first or last row of image data.
Image Gets the RasterImage object into which the image data is being loaded.
ImagePage Gets the index of the RasterImage.Page into which the image data is being loaded.
Info Gets a CodecsImageInfo object that contains information about the image file being loaded.
LastPage Gets the index of the last page being loaded.
Lines Gets the number of lines in Buffer.
Offset Gets the offset in bytes from the beginning of the file at which the image data begins.
OffsetCount Gets the number of bytes that make up the actual image data being loaded.
OffsetValid Determines whether the Offset property is valid.
Page Gets the index of the page currently being loaded.
PagePercent Gets the load completion percentage of the current page.
Row Gets the current image row number of the first line in Buffer.
Stream Gets the Stream associated with the file load process.
Stream Gets the ILeadStream associated with the file load process.
Tile Gets the rectangular area of the image being loaded.
TileValid Determines whether the Tile property is valid.
TotalPercent Gets the overall completion percentage for the load operation.
Remarks

This event will fire during loading images with the Load and LoadAsync methods. You can use this event to get information about the image being loaded, manually handle the image scanline data or provide a progress status as well as to abort the load operation.

Example

C#
VB
Silverlight C#
Silverlight VB
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing; 
using Leadtools.ImageProcessing.Color; 
using Leadtools.Svg; 
using LeadtoolsExamples.Common; 
 
private void Codecs_LoadImage(object sender, CodecsLoadImageEventArgs e) 
{ 
   e.Cancel = true; 
 
   // get all properties for the CodecsLoadImageEventArgs class. 
   Console.WriteLine("File name is: {0}", e.FileName); 
   Console.WriteLine("The Image width and height is: {0},{1}", e.Image.Width, e.Image.Height); 
   Console.WriteLine("The Length of the buffer is: {0}", e.Buffer.Length); 
   Console.WriteLine("The current row in the first line of the buffer is: {0}", e.Row); 
 
   if (e.OffsetValid) 
   { 
      Console.WriteLine("Offset count is : {0}", e.OffsetCount); 
      Console.WriteLine("Offset value is : {0}", e.Offset); 
   } 
 
   if (e.TileValid) 
   { 
      LeadRect rect = e.Tile; 
      Console.WriteLine("Tile Dimension ({0},{1},{2},{3)}", rect.X, rect.Y, rect.Width, rect.Height); 
   } 
 
   Console.WriteLine("Image p number: {0}", e.ImagePage); 
   Console.WriteLine("First page number: {0}", e.FirstPage); 
   Console.WriteLine("Current page number: {0}", e.Page); 
   Console.WriteLine("Last page number: {0}", e.LastPage); 
   Console.WriteLine("Page percent: {0}%", e.PagePercent); 
   Console.WriteLine("Total percent: {0}%", e.TotalPercent); 
   Console.WriteLine("Flags = {0}", e.Flags); 
 
   System.IO.Stream loadStream = e.Stream; 
   CodecsImageInfo info = e.Info; 
   e.Cancel = false; 
} 
 
public void LoadImageExample() 
{ 
   RasterCodecs codecs = new RasterCodecs(); 
 
   codecs.LoadImage += new EventHandler<CodecsLoadImageEventArgs>(Codecs_LoadImage); 
   RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp")); 
   codecs.LoadImage -= new EventHandler<CodecsLoadImageEventArgs>(Codecs_LoadImage); 
 
   // Clean up 
   codecs.Dispose(); 
   image.Dispose(); 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; 
} 
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.ImageProcessing 
Imports Leadtools.ImageProcessing.Color 
Imports Leadtools.Drawing 
Imports Leadtools.Svg 
 
Private Sub Codecs_LoadImage(ByVal sender As Object, ByVal e As CodecsLoadImageEventArgs) 
   e.Cancel = True 
 
   ' get all properties for the CodecsLoadImageEventArgs class. 
   Console.WriteLine("File name is: {0}", e.FileName) 
   Console.WriteLine("The Image width and height is: {0},{1}", e.Image.Width, e.Image.Height) 
   Console.WriteLine("The Length of the buffer is: {0}", e.Buffer.Length) 
   Console.WriteLine("The current row in the first line of the buffer is: {0}", e.Row) 
 
   If e.OffsetValid Then 
      Console.WriteLine("Offset count is : {0}", e.OffsetCount) 
      Console.WriteLine("Offset value is : {0}", e.Offset) 
   End If 
 
   If e.TileValid Then 
      Dim rect As LeadRect = e.Tile 
      Console.WriteLine("Tile Dimension ({0},{1},{2},{3)}", rect.X, rect.Y, rect.Width, rect.Height) 
   End If 
 
 
   Console.WriteLine("Image p number: {0}", e.ImagePage) 
   Console.WriteLine("First page number: {0}", e.FirstPage) 
   Console.WriteLine("Current page number: {0}", e.Page) 
   Console.WriteLine("Last page number: {0}", e.LastPage) 
   Console.WriteLine("Page percent: {0}%", e.PagePercent) 
   Console.WriteLine("Total percent: {0}%", e.TotalPercent) 
   Console.WriteLine("Flags = {0}", e.Flags) 
 
   Dim loadStream As System.IO.Stream = e.Stream 
   Dim info As CodecsImageInfo = e.Info 
   e.Cancel = False 
End Sub 
 
Public Sub LoadImageExample() 
   Dim codecs As RasterCodecs = New RasterCodecs() 
 
   AddHandler codecs.LoadImage, AddressOf Codecs_LoadImage 
   Dim image As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp")) 
   RemoveHandler codecs.LoadImage, AddressOf Codecs_LoadImage 
 
   ' 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 
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.Examples; 
using Leadtools.ImageProcessing; 
using Leadtools.ImageProcessing.Color; 
using Leadtools.Windows.Media; 
 
private void Codecs_LoadImage(object sender, CodecsLoadImageEventArgs e) 
{ 
   e.Cancel = true; 
   if (e.Buffer.Length != 0) 
   { 
      // get all properties for the CodecsLoadImageEventArgs class. 
      Debug.WriteLine("File name is: {0}", e.FileName); 
      Debug.WriteLine("The Image width and height is: {0},{1}", e.Image.Width, e.Image.Height); 
      Debug.WriteLine("The Length of the buffer is: {0}", e.Buffer.Length); 
      Debug.WriteLine("The current row in the first line of the buffer is: {0}", e.Row); 
 
      if (e.TileValid) 
      { 
         LeadRect rect = e.Tile; 
         Debug.WriteLine("Tile Dimension ({0},{1},{2},{3)}", rect.X, rect.Y, rect.Width, rect.Height); 
      } 
 
      Debug.WriteLine("Page Index is: {0}", e.Page); 
      Debug.WriteLine("Page Count is: {0}", e.LastPage); 
      Debug.WriteLine("Image Page Index is: {0}", e.ImagePage); 
      Debug.WriteLine("Flags = {0}", e.Flags); 
 
      System.IO.Stream loadStream = e.Stream; 
      CodecsImageInfo info = e.Info; 
      e.Cancel = false; 
   } 
} 
 
public void LoadImageExample(Stream inStream) 
{ 
   RasterCodecs codecs = new RasterCodecs(); 
 
   codecs.LoadImage += new EventHandler<CodecsLoadImageEventArgs>(Codecs_LoadImage); 
   RasterImage image = codecs.Load(inStream); 
   codecs.LoadImage -= new EventHandler<CodecsLoadImageEventArgs>(Codecs_LoadImage); 
 
   // Clean up 
   image.Dispose(); 
} 
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.ImageProcessing 
Imports Leadtools.ImageProcessing.Color 
Imports Leadtools.Windows.Media 
 
Private Sub Codecs_LoadImage(ByVal sender As Object, ByVal e As CodecsLoadImageEventArgs) 
   e.Cancel = True 
   If e.Buffer.Length <> 0 Then 
      ' get all properties for the CodecsLoadImageEventArgs class. 
      Debug.WriteLine("File name is: {0}", e.FileName) 
      Debug.WriteLine("The Image width and height is: {0},{1}", e.Image.Width, e.Image.Height) 
      Debug.WriteLine("The Length of the buffer is: {0}", e.Buffer.Length) 
      Debug.WriteLine("The current row in the first line of the buffer is: {0}", e.Row) 
 
      If e.TileValid Then 
         Dim rect As LeadRect = e.Tile 
         Debug.WriteLine("Tile Dimension ({0},{1},{2},{3)}", rect.X, rect.Y, rect.Width, rect.Height) 
      End If 
 
      Debug.WriteLine("Page Index is: {0}", e.Page) 
      Debug.WriteLine("Page Count is: {0}", e.LastPage) 
      Debug.WriteLine("Image Page Index is: {0}", e.ImagePage) 
      Debug.WriteLine("Flags = {0}", e.Flags) 
 
      Dim loadStream As System.IO.Stream = e.Stream 
      Dim info As CodecsImageInfo = e.Info 
      e.Cancel = False 
   End If 
End Sub 
 
Public Sub LoadImageExample(ByVal inStream As Stream) 
   Dim codecs As RasterCodecs = New RasterCodecs() 
 
   AddHandler codecs.LoadImage, AddressOf Codecs_LoadImage 
   Dim image As RasterImage = codecs.Load(inStream) 
   RemoveHandler codecs.LoadImage, AddressOf Codecs_LoadImage 
 
   ' Clean up 
   image.Dispose() 
End Sub 

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.Codecs Assembly