public class RasterImagePagesChangedEventArgs : EventArgs
public ref class RasterImagePagesChangedEventArgs : public System.EventArgs
class RasterImagePagesChangedEventArgs(EventArgs):
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. |
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 Leadtools.Svg;
public void PagesChangedExample()
{
RasterCodecs codecs = new RasterCodecs();
codecs.Options.Load.AllPages = true;
string srcFileName1 = Path.Combine(LEAD_VARS.ImagesDir, "eye.gif");
string srcFileName2 = Path.Combine(LEAD_VARS.ImagesDir, "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);
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images";
}
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document