LEADTOOLS(Leadtoolsアセンブリ)

フレームを表示

ReplacePageメソッド








置換するimageからのページの1から始まるインデックス。インデックスが等しい-1ならば、imageにおける最後のページは置換されます。
imageが置換するソース。
このRasterImageにおける既存のページを置換します。
構文
public void ReplacePage( 
   int index,
   RasterImage image
)
'Declaration
 
Public Sub ReplacePage( _
   ByVal index As Integer, _
   ByVal image As RasterImage _
) 
'Usage
 
Dim instance As RasterImage
Dim index As Integer
Dim image As RasterImage
 
instance.ReplacePage(index, image)
public void ReplacePage( 
   int index,
   RasterImage image
)
- (void)replacePageAtIndex:(NSInteger)index 
                  withPage:(LTRasterImage *)page
            
public void replacePage(
  int index, 
  RasterImage image
)
            
 function Leadtools.RasterImage.ReplacePage( 
   index ,
   image 
)
public:
void ReplacePage( 
   int index,
   RasterImage^ image
) 

パラメーター

インデックス
置換するimageからのページの1から始まるインデックス。インデックスが等しい-1ならば、imageにおける最後のページは置換されます。
image
imageが置換するソース。
解説

このメソッドはimageの現在のアクティブページをプルして、ページ番号で現在のRasterImageオブジェクトに=インデックスを挿入します。imageがこのメソッドを呼び出す前にわずか1ページを持っているならば、imageの頁数は1時までにデクリメントされます、そして、imageオブジェクトが破棄されて、その後使われるべきでありません。

RasterImageオブジェクトは、様々なサイズで複数ページを保持することができます。AddPageAddPagesInsertPageInsertPagesメソッドは、既存のRasterImageに新しいページを追加するのを許します。

RemovePageAt、RemovePagesとRemoveAllPagesメソッドにより、RasterImageオブジェクトから既存のページを削除できます。

ReplacePageとReplacePagesメソッドにより、RasterImageオブジェクト内の既存のページを置き換えることができます。

ペイジプロパティが現在のアクティブページを変更することができる間、PageCountプロパティはRasterImageオブジェクトにおけるページの合計数を保持します。

現在のアクティブページ(ペイジプロパティによって示されるページ)が、特に明記しない限りRasterImageオブジェクトのデータにアクセスするとき、デフォルトで使われます。

サンプル
Copy Code  
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 TestReplacePage()
   ' Create a mult-page image from the following files:
   Dim pageFileNames() As String = _
   { _
      Path.Combine(LEAD_VARS.ImagesDir, "Sample1.cmp"), _
      Path.Combine(LEAD_VARS.ImagesDir, "Sample2.cmp"), _
      Path.Combine(LEAD_VARS.ImagesDir, "Sample3.cmp"), _
      Path.Combine(LEAD_VARS.ImagesDir, "Sample4.cmp") _
   }

   Dim newPageFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp")

   Dim codecs As New RasterCodecs()

   Dim image As RasterImage = Nothing
   For Each pageFileName As String In pageFileNames
      Dim page As RasterImage = codecs.Load(pageFileName, 0, CodecsLoadByteOrder.BgrOrGray, 1, 1)

      If Not IsNothing(image) Then
         image.AddPage(page)
      Else
         image = page
      End If
   Next

   ' Show the image now
   ShowMultiPageImageInfo("Original image", image)

   ' Load the page to replace
   Dim newPage As RasterImage = codecs.Load(newPageFileName, 0, CodecsLoadByteOrder.BgrOrGray, 1, 1)

   Console.WriteLine("Loaded a new page of size {0} by {1}", newPage.Width, newPage.Height)

   ' Replace the second page on the image with this page
   image.ReplacePage(2, newPage)

   ' Show the list now
   ShowMultiPageImageInfo("New image after replacing page number 2", image)

   image.Dispose()
   codecs.Dispose()
End Sub

Private Shared Sub ShowMultiPageImageInfo(ByVal message As String, ByVal image As RasterImage)
   Console.WriteLine(message)

   Dim savePage As Integer = image.Page

   For i As Integer = 1 To image.PageCount
      image.Page = i
      Console.WriteLine("  {0}: Size {1} by {2} pixels", i, image.Width, image.Height)
   Next

   image.Page = savePage

   Console.WriteLine("----------------")
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.Dicom;
using Leadtools.Drawing;
using Leadtools.Controls;
using Leadtools.Svg;

      
public void TestReplacePage()
{
   // Create a mult-page image from the following files:
   string[] pageFileNames =
   {
      Path.Combine(ImagesPath.Path,"Sample1.cmp"),
      Path.Combine(ImagesPath.Path,"Sample2.cmp"),
      Path.Combine(ImagesPath.Path,"Sample3.cmp"),
      Path.Combine(ImagesPath.Path,"Sample4.cmp")
   };
   string newPageFileName = Path.Combine(ImagesPath.Path,"Image1.cmp");

   RasterCodecs codecs = new RasterCodecs();

   RasterImage image = null;
   foreach(string pageFileName in pageFileNames)
   {
      RasterImage page = codecs.Load(pageFileName, 0, CodecsLoadByteOrder.BgrOrGray, 1, 1);

      if(image != null)
      {
         image.AddPage(page);
      }
      else
      {
         image = page;
      }
   }

   // Show the image now
   ShowMultiPageImageInfo("Original image", image);

   // Load the page to replace
   RasterImage newPage = codecs.Load(newPageFileName, 0, CodecsLoadByteOrder.BgrOrGray, 1, 1);

   Console.WriteLine("Loaded a new page of size {0} by {1}", newPage.Width, newPage.Height);

   // Replace the second page on the image with this page
   image.ReplacePage(2, newPage);

   // Show the list now
   ShowMultiPageImageInfo("New image after replacing page number 2", image);

   image.Dispose();
   codecs.Dispose();
}

private static void ShowMultiPageImageInfo(string message, RasterImage image)
{
   Console.WriteLine(message);

   int savePage = image.Page;

   for(int i = 1; i <= image.PageCount; i++)
   {
      image.Page = i;
      Console.WriteLine("  {0}: Size {1} by {2} pixels", i, image.Width, image.Height);
   }

   image.Page = savePage;

   Console.WriteLine("----------------");
}
RasterImageExamples.prototype.TestReplacePage = function ( )
{
   Tools.SetLicense ( ) ;
   with ( Leadtools ) {
      with ( Leadtools.Codecs ) {
         // Create a mult-page image from the following files:
         var pageFileNames =
         [
            "Assets\\Sample1.cmp",
            "Assets\\Sample2.cmp",
            "Assets\\Sample3.cmp",
            "Assets\\Sample4.cmp",
         ];
      
         var newPageFileName = "Assets\\Image1.cmp";

         var codecs = new RasterCodecs();

         var image = null;
      
         var promises = pageFileNames.map(function (pageFileName) {

            return Tools.AppInstallFolder().getFileAsync(pageFileName).then (function ( loadFile) {
               return codecs.loadAsync(LeadStreamFactory.create(loadFile), 0, CodecsLoadByteOrder.bgrOrGray, 1, 1)})
            .then ( function ( page ) {

               if (image != null)
               {
                  image.addPage(page);
               }
               else
               {
                  image = page;
               }
            });
         });
         
         return WinJS.Promise.join ( promises ).then( function ( ) {

            // Show the image now
            ShowMultiPageImageInfo("Original image", image);

            // Load the page to replace
            return Tools.AppInstallFolder().getFileAsync(newPageFileName)})
            .then ( function ( loadFile2 ) {
               return codecs.loadAsync(LeadStreamFactory.create(loadFile2), 0, CodecsLoadByteOrder.bgrOrGray, 1, 1)})
            .then ( function (newPage ) {
               console.info("Loaded a new page of size " + newPage.width +" by " + newPage.height);

               // Replace the second page on the image with this page
               image.replacePage(2, newPage);

               // Show the list now
               ShowMultiPageImageInfo("New image after replacing page number 2", image);

               image.close();
               codecs.close();
            });
      }
   }
}

function ShowMultiPageImageInfo(message, image) {
   console.info(message);

   var savePage = image.page;

   for (var i = 1; i <= image.pageCount; i++) {
      image.page = i;
      console.info("  " + i + ": Size " + image.width + " by " + image.height + " pixels");
   }

   image.page = savePage;

   console.info("----------------");
}
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing;
using Leadtools.ImageProcessing.Core;
using Leadtools.ImageProcessing.Color;
using Leadtools.Dicom;

      
public async Task TestReplacePage()
{
   // Create a mult-page image from the following files:
   string[] pageFileNames =
   {
      @"Assets\Sample1.cmp",
      @"Assets\Sample2.cmp",
      @"Assets\Sample3.cmp",
      @"Assets\Sample4.cmp",
   };
   string newPageFileName = @"Assets\Image1.cmp";

   RasterCodecs codecs = new RasterCodecs();

   RasterImage image = null;
   foreach (string pageFileName in pageFileNames)
   {
      StorageFile loadFile = await Tools.AppInstallFolder.GetFileAsync(pageFileName);
      RasterImage page = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile), 0, CodecsLoadByteOrder.BgrOrGray, 1, 1);

      if (image != null)
      {
         image.AddPage(page);
      }
      else
      {
         image = page;
      }
   }

   // Show the image now
   ShowMultiPageImageInfo("Original image", image);

   // Load the page to replace
   StorageFile loadFile2 = await Tools.AppInstallFolder.GetFileAsync(newPageFileName);
   RasterImage newPage = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile2), 0, CodecsLoadByteOrder.BgrOrGray, 1, 1);

   Debug.WriteLine("Loaded a new page of size {0} by {1}", newPage.Width, newPage.Height);

   // Replace the second page on the image with this page
   image.ReplacePage(2, newPage);

   // Show the list now
   ShowMultiPageImageInfo("New image after replacing page number 2", image);

   image.Dispose();
   codecs.Dispose();
}

private static void ShowMultiPageImageInfo(string message, RasterImage image)
{
   Debug.WriteLine(message);

   int savePage = image.Page;

   for (int i = 1; i <= image.PageCount; i++)
   {
      image.Page = i;
      Debug.WriteLine("  {0}: Size {1} by {2} pixels", i, image.Width, image.Height);
   }

   image.Page = savePage;

   Debug.WriteLine("----------------");
}
必要条件

ターゲットプラットホーム

参照

参照

RasterImageクラス
RasterImageメンバ