←Select platform

RasterImagePagesChangedEventArgs Class

Summary

Provides data for the PagesChanged event.

Syntax
C#
VB
C++
public class RasterImagePagesChangedEventArgs : EventArgs 
Public Class RasterImagePagesChangedEventArgs  
   Inherits System.EventArgs 
public ref class RasterImagePagesChangedEventArgs : public System.EventArgs  

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.

Method Values 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.RemovePageAt Action is RasterImagePagesChangedAction.Removed, StartIndex is the value of the pageIndex and Count is 1.
RasterImage.RemovePages Action is RasterImagePagesChangedAction.Removed, StartIndex is the value of the startIndex parameter and Count is the value of the count parameter.
RasterImage.RemoveAllPages Action is RasterImagePagesChangedAction.Removed, StartIndex is 1 and Count is RasterImage.PageCount.
RasterImage.InsertPage and RasterImage.ReplacePages

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 and RasterImage.ReplacePages

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.Dispose Action is RasterImagePagesChangedAction.Removed, StartIndex is 1 and Count is the number of pages in the current RasterImage.

Example
C#
VB
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing; 
using Leadtools.ImageProcessing.Core; 
using Leadtools.ImageProcessing.Color; 
using Leadtools.Dicom; 
using Leadtools.Drawing; 
using Leadtools.Controls; 
using LeadtoolsExamples.Common; 
using Leadtools.Svg; 
 
public void PagesChangedExample() 
{ 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.Options.Load.AllPages = true; 
 
   string srcFileName1 = Path.Combine(ImagesPath.Path, "eye.gif"); 
   string srcFileName2 = Path.Combine(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(); 
} 
 
void Image_PagesChanged(object sender, RasterImagePagesChangedEventArgs e) 
{ 
   Console.WriteLine("Added = {0}, Index = {1}, Count = {2}", e.Action, e.StartIndex, e.Count); 
} 
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.ImageProcessing 
Imports Leadtools.ImageProcessing.Core 
Imports Leadtools.ImageProcessing.Color 
Imports Leadtools.Controls 
Imports Leadtools.Dicom 
Imports Leadtools.Drawing 
Imports Leadtools.Svg 
 
Public Sub PagesChangedExample() 
   Dim codecs As New RasterCodecs() 
   codecs.Options.Load.AllPages = True 
 
   Dim srcFileName1 As String = Path.Combine(LEAD_VARS.ImagesDir, "eye.gif") 
   Dim srcFileName2 As String = Path.Combine(LEAD_VARS.ImagesDir, "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() 
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 
 
Public NotInheritable Class LEAD_VARS 
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" 
End Class 
c#[Silverlight C# Example] 
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.Dicom; 
using Leadtools.ImageProcessing; 
using Leadtools.ImageProcessing.Core; 
using Leadtools.ImageProcessing.Color; 
using Leadtools.Examples; 
using Leadtools.Windows.Media; 
 
public void PagesChangedExample(RasterImage srcImage, RasterImage pageImage1, RasterImage pageImage2) 
{ 
   // srcImage is the multi-page image 
   srcImage.PagesChanged += new EventHandler<RasterImagePagesChangedEventArgs>(Image_PagesChanged); 
 
   // Show the number of pages in this file 
   Debug.WriteLine("Pages in the image: {0}", srcImage.PageCount); 
 
   // Show and change the active page 
   Debug.WriteLine("Active page: {0}", srcImage.Page); 
   srcImage.Page = 3; 
   Debug.WriteLine("Active page: {0}", srcImage.Page); 
   srcImage.Page = 1; 
 
   // pageImage1 is a single page image, add it to the end 
   pageImage1.PagesChanged += new EventHandler<RasterImagePagesChangedEventArgs>(Image_PagesChanged); 
   Debug.WriteLine("Adding a single page"); 
   srcImage.AddPage(pageImage1); 
   Debug.WriteLine("Pages in the image: {0}", srcImage.PageCount); 
 
   // Load a multi page image and add a few pages to this image 
   pageImage2.PagesChanged += new EventHandler<RasterImagePagesChangedEventArgs>(Image_PagesChanged); 
   Debug.WriteLine("Adding multi-pages"); 
   srcImage.AddPages(pageImage2, 1, 2); 
   Debug.WriteLine("Pages in the image: {0}", srcImage.PageCount); 
 
   // Insert a page in the middle 
   Debug.WriteLine("Inserting a page"); 
   srcImage.InsertPage(4, pageImage2); 
   Debug.WriteLine("Pages in the image: {0}", srcImage.PageCount); 
 
   // Insert the rest of the pages at the beginning 
   Debug.WriteLine("Inserting pages"); 
   srcImage.InsertPages(0, pageImage2, 1, -1); 
   Debug.WriteLine("Pages in the image: {0}", srcImage.PageCount); 
 
   // Remove the first page 
   Debug.WriteLine("Removing a page"); 
   srcImage.RemovePageAt(1); 
   Debug.WriteLine("Pages in the image: {0}", srcImage.PageCount); 
 
   // Remove the last 3 pages 
   Debug.WriteLine("Removing pages"); 
   srcImage.RemovePages(srcImage.PageCount - 3, -1); 
   Debug.WriteLine("Pages in the image: {0}", srcImage.PageCount); 
 
   // Remove all the pages (leaves 1) 
   Debug.WriteLine("Removing all pages"); 
   srcImage.RemoveAllPages(); 
   Debug.WriteLine("Pages in the image: {0}", srcImage.PageCount); 
 
   srcImage.Dispose(); 
   pageImage1.Dispose(); 
   pageImage2.Dispose(); 
} 
 
void Image_PagesChanged(object sender, RasterImagePagesChangedEventArgs e) 
{ 
   Debug.WriteLine("Added = {0}, Index = {1}, Count = {2}", e.Action, e.StartIndex, e.Count); 
} 
vb[Silverlight VB Example] 
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.Dicom 
Imports Leadtools.ImageProcessing 
Imports Leadtools.ImageProcessing.Core 
Imports Leadtools.ImageProcessing.Color 
Imports Leadtools.Windows.Media 
 
Public Sub PagesChangedExample(ByVal srcImage As RasterImage, ByVal pageImage1 As RasterImage, ByVal pageImage2 As RasterImage) 
   ' srcImage is the multi-page image 
   AddHandler srcImage.PagesChanged, AddressOf Image_PagesChanged 
 
   ' Show the number of pages in this file 
   Debug.WriteLine("Pages in the image: {0}", srcImage.PageCount) 
 
   ' Show and change the active page 
   Debug.WriteLine("Active page: {0}", srcImage.Page) 
   srcImage.Page = 3 
   Debug.WriteLine("Active page: {0}", srcImage.Page) 
   srcImage.Page = 1 
 
   ' pageImage1 is a single page image, add it to the end 
   AddHandler pageImage1.PagesChanged, AddressOf Image_PagesChanged 
   Debug.WriteLine("Adding a single page") 
   srcImage.AddPage(pageImage1) 
   Debug.WriteLine("Pages in the image: {0}", srcImage.PageCount) 
 
   ' Load a multi page image and add a few pages to this image 
   AddHandler pageImage2.PagesChanged, AddressOf Image_PagesChanged 
   Debug.WriteLine("Adding multi-pages") 
   srcImage.AddPages(pageImage2, 1, 2) 
   Debug.WriteLine("Pages in the image: {0}", srcImage.PageCount) 
 
   ' Insert a page in the middle 
   Debug.WriteLine("Inserting a page") 
   srcImage.InsertPage(4, pageImage2) 
   Debug.WriteLine("Pages in the image: {0}", srcImage.PageCount) 
 
   ' Insert the rest of the pages at the beginning 
   Debug.WriteLine("Inserting pages") 
   srcImage.InsertPages(0, pageImage2, 1, -1) 
   Debug.WriteLine("Pages in the image: {0}", srcImage.PageCount) 
 
   ' Remove the first page 
   Debug.WriteLine("Removing a page") 
   srcImage.RemovePageAt(1) 
   Debug.WriteLine("Pages in the image: {0}", srcImage.PageCount) 
 
   ' Remove the last 3 pages 
   Debug.WriteLine("Removing pages") 
   srcImage.RemovePages(srcImage.PageCount - 3, -1) 
   Debug.WriteLine("Pages in the image: {0}", srcImage.PageCount) 
 
   ' Remove all the pages (leaves 1) 
   Debug.WriteLine("Removing all pages") 
   srcImage.RemoveAllPages() 
   Debug.WriteLine("Pages in the image: {0}", srcImage.PageCount) 
 
   srcImage.Dispose() 
   pageImage1.Dispose() 
   pageImage2.Dispose() 
End Sub 
 
Private Sub Image_PagesChanged(ByVal sender As Object, ByVal e As RasterImagePagesChangedEventArgs) 
   Debug.WriteLine("Added = {0}, Index = {1}, Count = {2}", e.Action, e.StartIndex, e.Count) 
End Sub 

Requirements

Target Platforms

Help Version 20.0.2020.4.2
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2020 LEAD Technologies, Inc. All Rights Reserved.

Leadtools Assembly