(Leadtools.Annotations.Core)

フレームを表示

AnnDeserializeOptionsクラス






メンバ 
アノテーションオブジェクトをロードする際に使うオプション。
構文
public class AnnDeserializeOptions 
'Declaration
 
Public Class AnnDeserializeOptions 
public sealed class AnnDeserializeOptions 
@interface LTAnnDeserializeOptions : NSObject
public class AnnDeserializeOptions
function Leadtools.Annotations.Core.AnnDeserializeOptions()
解説

このクラスがAnnCodecs.DeserializeOptionsのための型として使われて、以下のメンバを格納します:

メンバ 説明
DeserializeObject

ロードされているアノテーションオブジェクトごとに呼び出すイベント。任意のオブジェクトを監視してスキップできます。

DeserializeObjectError

エラーがアノテーションをロードすることの間、発生するとき、呼び出すイベントオブジェクト。エラーを処理するか、それをスキップすることができます。

サンプル

このサンプルはコンテナを作成して、それに行と長方形オブジェクトを追加して、それを保存します。そして、それは、ロードされているオブジェクトをモニターする方法を示します。

Copy Code  
using Leadtools.Annotations.Automation;
using Leadtools.Annotations.Core;
using Leadtools.Codecs;

      
public void AnnCodecs_AnnDeserializeOptions()
{
   // Create a new annotation container, 8.5 by 11 inches
   AnnContainer container = new AnnContainer();
   // Size must be in annotation units (1/720 of an inch)
   container.Size = LeadSizeD.Create(8.5 * 720, 11 * 720);
   double inch = 720.0;
   // Add a red line object, from 1in 1in to 2in 2in
   AnnPolylineObject lineObj = new AnnPolylineObject();
   lineObj.Points.Add(LeadPointD.Create(1 * inch, 1 * inch));
   lineObj.Points.Add(LeadPointD.Create(2 * inch, 2 * inch));
   lineObj.Stroke = AnnStroke.Create(AnnSolidColorBrush.Create("Red"), LeadLengthD.Create(1));
   container.Children.Add(lineObj);

   // Add a blue on yellow rectangle from 3in 3in to 4in 4in
   AnnRectangleObject rectObj = new AnnRectangleObject();
   rectObj.Rect = LeadRectD.Create(3 * inch, 3 * inch, 1 * inch, 1 * inch);
   rectObj.Stroke = AnnStroke.Create(AnnSolidColorBrush.Create("Blue"), LeadLengthD.Create(1));
   rectObj.Fill = AnnSolidColorBrush.Create("Yellow");
   container.Children.Add(rectObj);

   // Show the container
   ShowContainer("Before save", container);

   // Create the codecs object to save and load annotations
   AnnCodecs codecs = new AnnCodecs();

   // Save the container
   string destFileName = @"container.xml";
   codecs.Save(destFileName, container, AnnFormat.Annotations, 1);

   // delete the container
   container = null;

   // Create a new instance of AnnDeserializeOptions and Hook to the DeserializeObject and DeserializeObjectError events
   AnnDeserializeOptions deserializeOptions = new AnnDeserializeOptions();
   deserializeOptions.DeserializeObject += deserializeOptions_DeserializeObject;
   deserializeOptions.DeserializeObjectError += deserializeOptions_DeserializeObjectError;

   // Set it as our deserialize options
   codecs.DeserializeOptions = deserializeOptions;

   // Load the container we just saved
   container = codecs.Load(destFileName, 1);

   // Show it
   ShowContainer("After load", container);
}

void deserializeOptions_DeserializeObjectError(object sender, AnnSerializeObjectEventArgs e)
{
   Debug.WriteLine(e.Error.Message);
}

void deserializeOptions_DeserializeObject(object sender, AnnSerializeObjectEventArgs e)
{
   Debug.WriteLine("loading object of type: " + e.TypeName);
}
using Leadtools.Converters;
using Leadtools.Annotations.Automation;
using Leadtools.Controls;
using Leadtools.Annotations.Core;
using Leadtools.Codecs;

      
public async Task AnnCodecs_AnnDeserializeOptions()
{
   // Create a new annotation container, 8.5 by 11 inches
   AnnContainer container = new AnnContainer();
   // Size must be in annotation units (1/720 of an inch)
   container.Size = LeadSizeDHelper.Create(8.5 * 720, 11 * 720);
   double inch = 720.0;
   // Add a red line object, from 1in 1in to 2in 2in
   AnnPolylineObject lineObj = new AnnPolylineObject();
   lineObj.Points.Add(LeadPointDHelper.Create(1 * inch, 1 * inch));
   lineObj.Points.Add(LeadPointDHelper.Create(2 * inch, 2 * inch));
   lineObj.Stroke = AnnStroke.Create(AnnSolidColorBrush.Create("Red"), LeadLengthDHelper.Create(1));
   container.Children.Add(lineObj);

   // Add a blue on yellow rectangle from 3in 3in to 4in 4in
   AnnRectangleObject rectObj = new AnnRectangleObject();
   rectObj.Rect = LeadRectDHelper.Create(3 * inch, 3 * inch, 1 * inch, 1 * inch);
   rectObj.Stroke = AnnStroke.Create(AnnSolidColorBrush.Create("Blue"), LeadLengthDHelper.Create(1));
   rectObj.Fill = AnnSolidColorBrush.Create("Yellow");
   container.Children.Add(rectObj);

   // Show the container
   ShowContainer("Before save", container);

   // Create the codecs object to save and load annotations
   AnnCodecs codecs = new AnnCodecs();

   // Save the container
   string destFileName = @"container.xml";
   StorageFile saveFile = await Tools.AppLocalFolder.CreateFileAsync(destFileName);
   await codecs.SaveAsync(saveFile, container, AnnFormat.Annotations, 1);

   // delete the container
   container = null;

   // Create a new instance of AnnDeserializeOptions and Hook to the DeserializeObject and DeserializeObjectError events
   AnnDeserializeOptions deserializeOptions = new AnnDeserializeOptions();
   deserializeOptions.DeserializeObject += deserializeOptions_DeserializeObject;
   deserializeOptions.DeserializeObjectError += deserializeOptions_DeserializeObjectError;

   // Set it as our deserialize options
   codecs.DeserializeOptions = deserializeOptions;

   // Load the container we just saved
   container = await codecs.LoadAsync(saveFile, 1);

   // Show it
   ShowContainer("After load", container);
}

void deserializeOptions_DeserializeObjectError(object sender, AnnSerializeObjectEventArgs e)
{
   Debug.WriteLine(e.Error.Message);
}

void deserializeOptions_DeserializeObject(object sender, AnnSerializeObjectEventArgs e)
{
   Debug.WriteLine("loading object of type: " + e.TypeName);
}
必要条件

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

参照

参照

AnnDeserializeOptionsメンバ
Leadtools.Annotations.Core名前空間
アノテーションファイル

   Leadtools.Annotations.Coreは、DocumentまたはMedicalツールキットのライセンスと、解除キーが必要です。詳細は、以下を参照してください。LEADTOOLSツールキット機能