Leadtools Send comments on this topic. | Back to Introduction - All Topics | Help Version 16.5.9.25
RasterImagePagesChangedEventArgs Class
See Also  Members   Example 
Leadtools Namespace : RasterImagePagesChangedEventArgs Class



Provides data for the RasterImage.PagesChanged event.

Syntax

Visual Basic (Declaration) 
Public Class RasterImagePagesChangedEventArgs 
   Inherits EventArgs
Visual Basic (Usage)Copy Code
Dim instance As RasterImagePagesChangedEventArgs
C# 
public class RasterImagePagesChangedEventArgs : EventArgs 
C++/CLI 
public ref class RasterImagePagesChangedEventArgs : public EventArgs 

Example

Visual BasicCopy Code
Public Sub PagesChangedExample()
   RasterCodecs.Startup()
   Dim codecs As New RasterCodecs()

   Dim srcFileName1 As String = LeadtoolsExamples.Common.ImagesPath.Path + "eye.gif"
   Dim srcFileName2 As String = LeadtoolsExamples.Common.ImagesPath.Path + "image1.cmp"

   ' Load the multi-page image
   Dim srcImage As RasterImage = codecs.Load(srcFileName1)
   AddHandler srcImage.PagesChanged, AddressOf Image_PagesChanged

   ' Show the number of pages in this file
   Console.WriteLine("Pages in the image: {0}", srcImage.PageCount)

   ' Show and change the active page
   Console.WriteLine("Active page: {0}", srcImage.Page)
   srcImage.Page = 3
   Console.WriteLine("Active page: {0}", srcImage.Page)
   srcImage.Page = 1

   ' Load a single page image and add it to the end
   Dim pageImage As RasterImage = codecs.Load(srcFileName2)
   AddHandler pageImage.PagesChanged, AddressOf Image_PagesChanged
   Console.WriteLine("Adding a single page")
   srcImage.AddPage(pageImage)
   Console.WriteLine("Pages in the image: {0}", srcImage.PageCount)

   ' Load a multi page image and add a few pages to this image
   pageImage = codecs.Load(srcFileName1)
   AddHandler pageImage.PagesChanged, AddressOf Image_PagesChanged
   Console.WriteLine("Adding multi-pages")
   srcImage.AddPages(pageImage, 1, 2)
   Console.WriteLine("Pages in the image: {0}", srcImage.PageCount)

   ' Insert a page in the middle
   Console.WriteLine("Inserting a page")
   srcImage.InsertPage(4, pageImage)
   Console.WriteLine("Pages in the image: {0}", srcImage.PageCount)

   ' Insert the rest of the pages at the beginning
   Console.WriteLine("Inserting pages")
   srcImage.InsertPages(0, pageImage, 1, -1)
   Console.WriteLine("Pages in the image: {0}", srcImage.PageCount)

   ' Remove the first page
   Console.WriteLine("Removing a page")
   srcImage.RemovePageAt(1)
   Console.WriteLine("Pages in the image: {0}", srcImage.PageCount)

   ' Remove the last 3 pages
   Console.WriteLine("Removing pages")
   srcImage.RemovePages(srcImage.PageCount - 3, -1)
   Console.WriteLine("Pages in the image: {0}", srcImage.PageCount)

   ' Remove all the pages (leaves 1)
   Console.WriteLine("Removing all pages")
   srcImage.RemoveAllPages()
   Console.WriteLine("Pages in the image: {0}", srcImage.PageCount)

   srcImage.Dispose()
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub

Private Sub Image_PagesChanged(ByVal sender As Object, ByVal e As RasterImagePagesChangedEventArgs)
   Console.WriteLine("Added = {0}, Index = {1}, Count = {2}", e.Action, e.StartIndex, e.Count)
End Sub
C#Copy Code
public void PagesChangedExample() 

   RasterCodecs.Startup(); 
   RasterCodecs codecs = new RasterCodecs(); 
 
   string srcFileName1 = LeadtoolsExamples.Common.ImagesPath.Path + "eye.gif"; 
   string srcFileName2 = LeadtoolsExamples.Common.ImagesPath.Path + "image1.cmp"; 
 
   // Load the multi-page image 
   RasterImage srcImage = codecs.Load(srcFileName1); 
   srcImage.PagesChanged += new EventHandler<RasterImagePagesChangedEventArgs>(Image_PagesChanged); 
 
   // Show the number of pages in this file 
   Console.WriteLine("Pages in the image: {0}", srcImage.PageCount); 
 
   // Show and change the active page 
   Console.WriteLine("Active page: {0}", srcImage.Page); 
   srcImage.Page = 3; 
   Console.WriteLine("Active page: {0}", srcImage.Page); 
   srcImage.Page = 1; 
 
   // Load a single page image and add it to the end 
   RasterImage pageImage = codecs.Load(srcFileName2); 
   pageImage.PagesChanged += new EventHandler<RasterImagePagesChangedEventArgs>(Image_PagesChanged); 
   Console.WriteLine("Adding a single page"); 
   srcImage.AddPage(pageImage); 
   Console.WriteLine("Pages in the image: {0}", srcImage.PageCount); 
 
   // Load a multi page image and add a few pages to this image 
   pageImage = codecs.Load(srcFileName1); 
   pageImage.PagesChanged += new EventHandler<RasterImagePagesChangedEventArgs>(Image_PagesChanged); 
   Console.WriteLine("Adding multi-pages"); 
   srcImage.AddPages(pageImage, 1, 2); 
   Console.WriteLine("Pages in the image: {0}", srcImage.PageCount); 
 
   // Insert a page in the middle 
   Console.WriteLine("Inserting a page"); 
   srcImage.InsertPage(4, pageImage); 
   Console.WriteLine("Pages in the image: {0}", srcImage.PageCount); 
 
   // Insert the rest of the pages at the beginning 
   Console.WriteLine("Inserting pages"); 
   srcImage.InsertPages(0, pageImage, 1, -1); 
   Console.WriteLine("Pages in the image: {0}", srcImage.PageCount); 
 
   // Remove the first page 
   Console.WriteLine("Removing a page"); 
   srcImage.RemovePageAt(1); 
   Console.WriteLine("Pages in the image: {0}", srcImage.PageCount); 
 
   // Remove the last 3 pages 
   Console.WriteLine("Removing pages"); 
   srcImage.RemovePages(srcImage.PageCount - 3, -1); 
   Console.WriteLine("Pages in the image: {0}", srcImage.PageCount); 
 
   // Remove all the pages (leaves 1) 
   Console.WriteLine("Removing all pages"); 
   srcImage.RemoveAllPages(); 
   Console.WriteLine("Pages in the image: {0}", srcImage.PageCount); 
 
   srcImage.Dispose(); 
   codecs.Dispose(); 
   RasterCodecs.Shutdown(); 

 
void Image_PagesChanged(object sender, RasterImagePagesChangedEventArgs e) 

   Console.WriteLine("Added = {0}, Index = {1}, Count = {2}", e.Action, e.StartIndex, e.Count); 
}

Remarks

When images are added/inserted or removed from a RasterImage object, the RasterImage.PagesChanged event will fire with an instance of the RasterImagePagesChangedEventArgs class. This instance contains information on what pages has been changed. The following table will list the methods that would invoke the RasterImage.PagesChanged event and what values are expected.

MethodValues Expected
RasterImage.AddPage

For the source image (the image parameter): Action is RasterImagePagesChangedAction.Removed, StartIndex is the current page (RasterImage.Page) and Count is 1.

For the destination image (The this or Me in Visual basic image): Action is RasterImagePagesChangedAction.Added, StartIndex is RasterImage.PageCount since the pages are added at the end and Count is 1.

RasterImage.AddPages

For the source image (the image parameter): Action is RasterImagePagesChangedAction.Removed, StartIndex is the value of the startIndex parameter and Count is the value of the count parameter.

For the destination image (The this or Me in Visual basic image): Action is RasterImagePagesChangedAction.Added, StartIndex is RasterImage.PageCount since the pages are added at the end and Count is the value of the count parameter.

RasterImage.RemovePageAtAction is RasterImagePagesChangedAction.Removed, StartIndex is the value of the pageIndex and Count is 1.
RasterImage.RemovePagesAction is RasterImagePagesChangedAction.Removed, StartIndex is the value of the startIndex parameter and Count is the value of the count parameter.
RasterImage.RemoveAllPagesAction is RasterImagePagesChangedAction.Removed, StartIndex is 1 and Count is RasterImage.PageCount.
RasterImage.InsertPage

For the source image (the image parameter): Action is RasterImagePagesChangedAction.Removed, StartIndex is the current page (RasterImage.Page) and Count is 1.

For the destination image (The this or Me in Visual basic image): Action is RasterImagePagesChangedAction.Added, StartIndex is the value of the index parameter and Count is 1.

RasterImage.InsertPages

For the source image (the image parameter): Action is RasterImagePagesChangedAction.Removed, StartIndex is the value of the startIndex parameter and Count is the value of the count parameter.

For the destination image (The this or Me in Visual basic image): Action is RasterImagePagesChangedAction.Added, StartIndex is the value of the index parameter and Count is the value of the count parameter.

RasterImage.DisposeAction is RasterImagePagesChangedAction.Removed, StartIndex is 1 and Count is the number of pages in the current RasterImage.

Inheritance Hierarchy

System.Object
   System.EventArgs
      Leadtools.RasterImagePagesChangedEventArgs

Requirements

Target Platforms: Microsoft .NET Framework 3.0, Windows XP, Windows Server 2003 family, Windows Server 2008 family

See Also