LEADTOOLS画像ファイルサポート(Leadtools.Codecsアセンブリ)

フレームを表示

LoadImageイベント








ファイルのロードプロセスの間に発生し、出力画像データの手動処理または進捗ステータスの監視のための機能を提供します。ロード|イベント|手動の処理|モニタリング|画像ファイル|LoadAsync
構文
'Declaration
 
Public Event LoadImage As EventHandler(Of CodecsLoadImageEventArgs)
'Usage
 
Dim instance As RasterCodecs
Dim handler As EventHandler(Of CodecsLoadImageEventArgs)
 
AddHandler instance.LoadImage, handler
synchronized public void addLoadImageListener(CodecsLoadImageListener listener)
synchronized public void removeLoadImageListener(CodecsLoadImageListener listener)
            
add_LoadImage(function(sender, e))
remove_LoadImage(function(sender, e))

イベントデータ

イベントハンドラは、このイベントに関連するデータを格納するタイプCodecsLoadImageEventArgsの引数を受け取ります。以下のCodecsLoadImageEventArgsプロパティは、このイベントに特有の情報を提供します。

プロパティ説明
Buffer 1行以上の出力画像データを格納しているメモリバッファを取得します。
Cancel ユーザーがロードプロセスを中止できる値を取得または設定します。
FileName 現時点ではロードされているファイルの名前を取得します。
FirstPage ロードされている最初のページのインデックスを取得します。
Flags これがイベントの最初や最後の呼び出しであるかどうか、そして、バッファが画像データの最初や最後の行を格納するかどうか述べる値を取得します。
Image 画像データがロードされているRasterImageオブジェクトを取得します。
ImagePage 画像データがロードされているRasterImage.Pageのインデックスを取得します。
Info ロードされている画像ファイルに関する情報を格納するCodecsImageInfoオブジェクトを取得します。
LastPage ロードされている最後のページのインデックスを取得します。
Lines バッファ内の行数を取得します。
Offset 画像データが始まるファイルの先頭部からのオフセットをバイト単位で取得します。
OffsetCount ロードされている実際の画像データを作るバイト数を取得します。
OffsetValid Offsetプロパティが有効かどうか決定します。
Page 現時点ではロードされているページのインデックスを取得します。
PagePercent 現在のページのロード完了パーセンテージを取得します。
Row バッファ内の最初の行の現在画像の行番号を取得します。
Stream ファイルロードプロセスに関連づけられるStreamを取得します。
Stream ファイルロードプロセスに関連づけられるILeadStreamを取得します。
Tile ロードされているimageの長方形の領域を取得します。
TileValid タイルプロパティが有効かどうか決定します。
TotalPercent ロード操作の全体完了パーセントを取得します。
解説
このイベントは、ロードLoadAsyncメソッドでイメージをロードすることの間、発生します。ロード操作を中止するだけでなく、ロードされているimageに関する情報を取得して、手動でimageスキャンラインデータを処理するか、進捗にステータスを提供するために、このイベントを使うことができます。
サンプル
Copy Code  
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing
Imports Leadtools.ImageProcessing.Color
Imports Leadtools.Drawing
Imports Leadtools.Svg

Private Sub Codecs_LoadImage(ByVal sender As Object, ByVal e As CodecsLoadImageEventArgs)
   e.Cancel = True
   ' get all properties for the CodecsLoadImageEventArgs class.
   Console.WriteLine("File name is: {0}", e.FileName)
   Console.WriteLine("The Image width and height is: {0},{1}", e.Image.Width, e.Image.Height)
   Console.WriteLine("The Length of the buffer is: {0}", e.Buffer.Length)
   Console.WriteLine("The current row in the first line of the buffer is: {0}", e.Row)

   If e.OffsetValid Then
      Console.WriteLine("Offset count is : {0}", e.OffsetCount)
      Console.WriteLine("Offset value is : {0}", e.Offset)
   End If

   If e.TileValid Then
      Dim rect As LeadRect = e.Tile
      Console.WriteLine("Tile Dimension ({0},{1},{2},{3)}", rect.X, rect.Y, rect.Width, rect.Height)
   End If


   Console.WriteLine("Image p number: {0}", e.ImagePage)
   Console.WriteLine("First page number: {0}", e.FirstPage)
   Console.WriteLine("Current page number: {0}", e.Page)
   Console.WriteLine("Last page number: {0}", e.LastPage)
   Console.WriteLine("Page percent: {0}%", e.PagePercent)
   Console.WriteLine("Total percent: {0}%", e.TotalPercent)
   Console.WriteLine("Flags = {0}", e.Flags)

   Dim loadStream As System.IO.Stream = e.Stream
   Dim info As CodecsImageInfo = e.Info
   e.Cancel = False
End Sub

      
Public Sub LoadImageExample()
   Dim codecs As RasterCodecs = New RasterCodecs()

   AddHandler codecs.LoadImage, AddressOf Codecs_LoadImage
   Dim image As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp"))
   RemoveHandler codecs.LoadImage, AddressOf Codecs_LoadImage

   ' Clean up
   codecs.Dispose()
   image.Dispose()
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.Color;
using Leadtools.Svg;

private void Codecs_LoadImage(object sender, CodecsLoadImageEventArgs e)
{
   e.Cancel = true;
   // get all properties for the CodecsLoadImageEventArgs class.
   Console.WriteLine("File name is: {0}", e.FileName);
   Console.WriteLine("The Image width and height is: {0},{1}", e.Image.Width, e.Image.Height);
   Console.WriteLine("The Length of the buffer is: {0}", e.Buffer.Length);
   Console.WriteLine("The current row in the first line of the buffer is: {0}", e.Row);

   if (e.OffsetValid)
   {
      Console.WriteLine("Offset count is : {0}", e.OffsetCount);
      Console.WriteLine("Offset value is : {0}", e.Offset);
   }

   if (e.TileValid)
   {
      LeadRect rect = e.Tile;
      Console.WriteLine("Tile Dimension ({0},{1},{2},{3)}", rect.X, rect.Y, rect.Width, rect.Height);
   }

   Console.WriteLine("Image p number: {0}", e.ImagePage);
   Console.WriteLine("First page number: {0}", e.FirstPage);
   Console.WriteLine("Current page number: {0}", e.Page);
   Console.WriteLine("Last page number: {0}", e.LastPage);
   Console.WriteLine("Page percent: {0}%", e.PagePercent);
   Console.WriteLine("Total percent: {0}%", e.TotalPercent);
   Console.WriteLine("Flags = {0}", e.Flags);

   System.IO.Stream loadStream = e.Stream;
   CodecsImageInfo info = e.Info;
   e.Cancel = false;
}

      
public void LoadImageExample()
{
   RasterCodecs codecs = new RasterCodecs();

   codecs.LoadImage += new EventHandler<CodecsLoadImageEventArgs>(Codecs_LoadImage);
   RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp"));
   codecs.LoadImage -= new EventHandler<CodecsLoadImageEventArgs>(Codecs_LoadImage);

   // Clean up
   codecs.Dispose();
   image.Dispose();
}

static class LEAD_VARS
{
public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
function Codecs_LoadImage(e)
{
   e.cancel = true;

   // get all properties for the CodecsLoadImageEventArgs class.
   console.info("The Image width and height is: ", e.image.width, "," , e.image.height);
   console.info("The Length of the buffer is: ", e.buffer.length);
   console.info("The current row in the first line of the buffer is: ", e.row);

   if (e.tileValid)
   {
      var rect = e.tile;
      console.info("Tile Dimension (", rect.X, ",", rect.Y, ",",rect.Width, ",",rect.Height, ")");
   }

   console.info("Image page number: ", e.imagePage);
   console.info("First page number: ", e.firstPage);
   console.info("Current page number: ", e.page);
   console.info("Last page number: ", e.lastPage);
   console.info("Page percent: ", e.pagePercent,"%");
   console.info("Total percent: %", e.totalPercent,"%");
   console.info("Flags = ", e.flags);

   var info = e.info;
   e.cancel = false;
}


RasterCodecsExamples.prototype.LoadImageExample = function () {
   Tools.SetLicense();
   with (Leadtools) {
      with (Leadtools.Codecs) {
         //required to fire events in JS
         Leadtools.RasterSupport.initialize();
         codecs.eventsDispatchMode = Leadtools.LeadEventsDispatchMode.useCoreDispatcher;
         var srcFileName = "Assets\\Image1.cmp";
         var codecs = new RasterCodecs();
         
         
         var image;
         codecs.addEventListener("loadimage", Codecs_LoadImage);
         
         return Tools.AppInstallFolder().getFileAsync(srcFileName).then(function (loadFile) {
            return codecs.loadAsync(LeadStreamFactory.create(loadFile))
         }).then(function (img) {
            image = img;
            codecs.removeEventListener("loadimage", Codecs_LoadImage);

            // Clean up
            codecs.close();
            image.close();
         });
      }
   }
}
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing;
using Leadtools.ImageProcessing.Color;

private void Codecs_LoadImage(object sender, CodecsLoadImageEventArgs e)
{
   e.Cancel = true;
   // get all properties for the CodecsLoadImageEventArgs class.
   Debug.WriteLine("The Image width and height is: {0},{1}", e.Image.Width, e.Image.Height);
   Debug.WriteLine("The Length of the buffer is: {0}", e.Buffer.Length);
   Debug.WriteLine("The current row in the first line of the buffer is: {0}", e.Row);

   if (e.TileValid)
   {
      LeadRect rect = e.Tile;
      Debug.WriteLine("Tile Dimension ({0},{1},{2},{3)}", rect.X, rect.Y, rect.Width, rect.Height);
   }

   Debug.WriteLine("Image page number: {0}", e.ImagePage);
   Debug.WriteLine("First page number: {0}", e.FirstPage);
   Debug.WriteLine("Current page number: {0}", e.Page);
   Debug.WriteLine("Last page number: {0}", e.LastPage);
   Debug.WriteLine("Page percent: {0}%", e.PagePercent);
   Debug.WriteLine("Total percent: {0}%", e.TotalPercent);
   Debug.WriteLine("Flags = {0}", e.Flags);

   CodecsImageInfo info = e.Info;
   e.Cancel = false;
}

      
public async Task LoadImageExample()
{
   string srcFileName = @"Assets\Image1.cmp";
   RasterCodecs codecs = new RasterCodecs();

   codecs.LoadImage += new EventHandler<CodecsLoadImageEventArgs>(Codecs_LoadImage);
   StorageFile loadFile = await Tools.AppInstallFolder.GetFileAsync(srcFileName);
   RasterImage image = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile));
   codecs.LoadImage -= new EventHandler<CodecsLoadImageEventArgs>(Codecs_LoadImage);

   // Clean up
   codecs.Dispose();
   image.Dispose();
}
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Examples;
using Leadtools.ImageProcessing;
using Leadtools.ImageProcessing.Color;
using Leadtools.Windows.Media;

private void Codecs_LoadImage(object sender, CodecsLoadImageEventArgs e)
{
   e.Cancel = true;
   if (e.Buffer.Length != 0)
   {
      // get all properties for the CodecsLoadImageEventArgs class.
      Debug.WriteLine("File name is: {0}", e.FileName);
      Debug.WriteLine("The Image width and height is: {0},{1}", e.Image.Width, e.Image.Height);
      Debug.WriteLine("The Length of the buffer is: {0}", e.Buffer.Length);
      Debug.WriteLine("The current row in the first line of the buffer is: {0}", e.Row);
      if(e.TileValid)
      {
         LeadRect rect = e.Tile;
         Debug.WriteLine("Tile Dimension ({0},{1},{2},{3)}", rect.X, rect.Y, rect.Width, rect.Height);
      }

      Debug.WriteLine("Page Index is: {0}", e.Page);
      Debug.WriteLine("Page Count is: {0}", e.LastPage);
      Debug.WriteLine("Image Page Index is: {0}", e.ImagePage);
      Debug.WriteLine("Flags = {0}", e.Flags);

      System.IO.Stream loadStream = e.Stream;
      CodecsImageInfo info = e.Info;
      e.Cancel = false;
   }
}

public void LoadImageExample(Stream inStream)
{
   RasterCodecs codecs = new RasterCodecs();

   codecs.LoadImage += new EventHandler<CodecsLoadImageEventArgs>(Codecs_LoadImage);
   RasterImage image = codecs.Load(inStream);
   codecs.LoadImage -= new EventHandler<CodecsLoadImageEventArgs>(Codecs_LoadImage);

   // Clean up
   image.Dispose();
}
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing
Imports Leadtools.ImageProcessing.Color
Imports Leadtools.Windows.Media

Private Sub Codecs_LoadImage(ByVal sender As Object, ByVal e As CodecsLoadImageEventArgs)
   e.Cancel = True
   If e.Buffer.Length <> 0 Then
      ' get all properties for the CodecsLoadImageEventArgs class.
      Debug.WriteLine("File name is: {0}", e.FileName)
      Debug.WriteLine("The Image width and height is: {0},{1}", e.Image.Width, e.Image.Height)
      Debug.WriteLine("The Length of the buffer is: {0}", e.Buffer.Length)
      Debug.WriteLine("The current row in the first line of the buffer is: {0}", e.Row)
      If e.TileValid Then
         Dim rect As LeadRect = e.Tile
         Debug.WriteLine("Tile Dimension ({0},{1},{2},{3)}", rect.X, rect.Y, rect.Width, rect.Height)
      End If

      Debug.WriteLine("Page Index is: {0}", e.Page)
      Debug.WriteLine("Page Count is: {0}", e.LastPage)
      Debug.WriteLine("Image Page Index is: {0}", e.ImagePage)
      Debug.WriteLine("Flags = {0}", e.Flags)

      Dim loadStream As System.IO.Stream = e.Stream
      Dim info As CodecsImageInfo = e.Info
      e.Cancel = False
   End If
End Sub

Public Sub LoadImageExample(ByVal inStream As Stream)
   Dim codecs As RasterCodecs = New RasterCodecs()

   AddHandler codecs.LoadImage, AddressOf Codecs_LoadImage
   Dim image As RasterImage = codecs.Load(inStream)
   RemoveHandler codecs.LoadImage, AddressOf Codecs_LoadImage

   ' Clean up
   image.Dispose()
End Sub
必要条件

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

参照

参照

RasterCodecsクラス
RasterCodecsメンバ