LEADTOOLS (Leadtools assembly)
LEAD Technologies, Inc

RasterImagePagesChangedEventArgs Class

Example 





Members 
Provides data for the RasterImage.PagesChanged event. .NET support Silverlight support WinRT support
Object Model
RasterImagePagesChangedEventArgs Class
Syntax
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 
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
 
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
public void PagesChangedExample()
   {
      RasterCodecs codecs = new RasterCodecs();

      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:\Users\Public\Documents\LEADTOOLS Images";
}
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);
}
[TestMethod]
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);
}
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);
}
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: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also

Reference

RasterImagePagesChangedEventArgs Members
Leadtools Namespace

 

 


Products | Support | Contact Us | Copyright Notices

© 2006-2012 All Rights Reserved. LEAD Technologies, Inc.