Leadtools Namespace : RasterImagePagesChangedEventArgs Class |
public class RasterImagePagesChangedEventArgs : System.EventArgs
'Declaration Public Class RasterImagePagesChangedEventArgs Inherits System.EventArgs
'Usage Dim instance As RasterImagePagesChangedEventArgs
public sealed class RasterImagePagesChangedEventArgs : ~Remove~
function Leadtools.RasterImagePagesChangedEventArgs()
public ref class RasterImagePagesChangedEventArgs : public System.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. |
Imports Leadtools Imports Leadtools.Codecs Imports Leadtools.ImageProcessing Imports Leadtools.ImageProcessing.Core Imports Leadtools.ImageProcessing.Color Imports Leadtools.WinForms Imports Leadtools.Dicom Imports Leadtools.Drawing Public Sub PagesChangedExample() Dim codecs As New RasterCodecs() 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
using Leadtools; using Leadtools.Codecs; using Leadtools.ImageProcessing; using Leadtools.ImageProcessing.Core; using Leadtools.ImageProcessing.Color; using Leadtools.WinForms; using Leadtools.Dicom; using Leadtools.Drawing; public void PagesChangedExample() { RasterCodecs codecs = new RasterCodecs(); 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); }
RasterImageExamples.prototype.PagesChangedExample = function ( ) { Tools.SetLicense ( ); with ( Leadtools ) { with ( Leadtools.Codecs ) { var codecs = new RasterCodecs(); var srcFileName1 = "Assets\\eye.gif"; var srcFileName2 = "Assets\\Image1.cmp"; var srcImage; var pageImage; // Load the multi-page image return Tools.AppInstallFolder().getFileAsync(srcFileName1).then (function ( loadFile ) { return codecs.loadAsync(LeadStreamFactory.create(loadFile))}).then ( function ( img ) { srcImage = img ; srcImage.addEventListener("pageschanged", Image_PagesChanged); // Show the number of pages in this file console.info("Pages in the image: ", srcImage.pageCount); // Show and change the active page console.info("Active page: ", srcImage.page); srcImage.page = 3; console.info("Active page: ", srcImage.page); srcImage.page = 1; // Load a single page image and add it to the end return Tools.AppInstallFolder().getFileAsync(srcFileName2)}) .then ( function ( loadFile ) { return codecs.loadAsync(LeadStreamFactory.create(loadFile))}) .then ( function ( pgImg ) { pageImage = pgImg; pageImage.addEventListener("pageschanged", Image_PagesChanged); console.info("Adding a single page"); srcImage.addPage(pageImage); console.info("Pages in the image: ", srcImage.pageCount); // Load a multi page image and add a few pages to this image return Tools.AppInstallFolder().getFileAsync(srcFileName1)}) .then ( function ( loadFile ) { return codecs.loadAsync(LeadStreamFactory.create(loadFile))}) .then ( function ( pgImg ) { pageImage = pgImg ; pageImage.addEventListener("pageschanged", Image_PagesChanged); console.info("Adding multi-pages"); srcImage.addPages(pageImage, 1, 2); console.info("Pages in the image: ", srcImage.pageCount); // Insert a page in the middle console.info("Inserting a page"); srcImage.insertPage(4, pageImage); console.info("Pages in the image: ", srcImage.pageCount); // Insert the rest of the pages at the beginning console.info("Inserting pages"); srcImage.insertPages(0, pageImage, 1, -1); console.info("Pages in the image: ", srcImage.pageCount); // Remove the first page console.info("Removing a page"); srcImage.removePageAt(1); console.info("Pages in the image: ", srcImage.pageCount); // Remove the last 3 pages console.info("Removing pages"); srcImage.removePages(srcImage.pageCount - 3, -1); console.info("Pages in the image: ", srcImage.pageCount); // Remove all the pages (leaves 1) console.info("Removing all pages"); srcImage.removeAllPages(); console.info("Pages in the image: ", srcImage.pageCount); pageImage.close(); srcImage.close(); codecs.close();}); } } } function Image_PagesChanged( e) { console.info("Added = " + e.action + ", Index = " + e.startIndex +", Count = " + e.count); }
using Leadtools; using Leadtools.Codecs; using Leadtools.ImageProcessing; using Leadtools.ImageProcessing.Core; using Leadtools.ImageProcessing.Color; using Leadtools.Dicom; public async Task PagesChangedExample() { RasterCodecs codecs = new RasterCodecs(); string srcFileName1 = @"Assets\eye.gif"; string srcFileName2 = @"Assets\Image1.cmp"; // Load the multi-page image StorageFile loadFile = await Tools.AppInstallFolder.GetFileAsync(srcFileName1); RasterImage srcImage = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile)); 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; // Load a single page image and add it to the end loadFile = await Tools.AppInstallFolder.GetFileAsync(srcFileName2); RasterImage pageImage = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile)); pageImage.PagesChanged += new EventHandler<RasterImagePagesChangedEventArgs>(Image_PagesChanged); Debug.WriteLine("Adding a single page"); srcImage.AddPage(pageImage); Debug.WriteLine("Pages in the image: {0}", srcImage.PageCount); // Load a multi page image and add a few pages to this image loadFile = await Tools.AppInstallFolder.GetFileAsync(srcFileName1); pageImage = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile)); pageImage.PagesChanged += new EventHandler<RasterImagePagesChangedEventArgs>(Image_PagesChanged); Debug.WriteLine("Adding multi-pages"); srcImage.AddPages(pageImage, 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, pageImage); 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, pageImage, 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(); codecs.Dispose(); } void Image_PagesChanged(object sender, RasterImagePagesChangedEventArgs e) { Debug.WriteLine("Added = {0}, Index = {1}, Count = {2}", e.Action, e.StartIndex, e.Count); }
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); }
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