(Leadtools.Annotations.Core)

フレームを表示

AnnContainerクラス






メンバ 
アノテーションコンテナを表します。
オブジェクトモデル
構文
public class AnnContainer 
'Declaration
 
Public Class AnnContainer 
public sealed class AnnContainer 
@interface LTAnnContainer : NSObject<NSCopying>
public class AnnContainer
function Leadtools.Annotations.Core.AnnContainer()
解説

アノテーションコンテナは、関連したアノテーションオブジェクト(AnnObject)を保持する長方形の領域です。代表的アプリケーションでは、コンテナはドキュメントにおけるページのために、アノテーションオブジェクトを保持します。コンテナのサイズは、アノテーション単位(1/720のインチ)における以外ページと同じです。

AnnContainerは、以下のメンバを格納します:

メンバ 説明

サイズOffsetPageNumber

コンテナのプロパティ:サイズは、アノテーション単位(1/720のインチ)のコンテナのサイズです。Offsetはオプションのオフセット値(コンテナが0,0で開始しないならば)です、そして、PageNumberはコンテナのオプションの1から始まるページ番号です

マッパー

表示、コンテナとimage座標を変換することに対して責任があるオブジェクト

AnnObjectsのコレクション。これらは、このコンテナの項に入るアノテーションオブジェクトです。コンテナが自動化されるときコンテナが提出されて、編集されるとき、これらのオブジェクトは提出されます

SelectionObject

コンテナで現時点では選択されるオブジェクトのリストを維持管理する役割を果たす特別なアノテーションオブジェクト

レイヤ

AnnLayersのコレクションは、一般のアノテーションオブジェクトを論理的に集めました。

HitTestPointHitTestRectHitTestBehavior

ヘルパーメソッドは、コンテナの上でヒットテストを実行して、テストポイントまたは長方形の下で任意のオブジェクトを返すのに用いられます

IsVisibleストローク塗りつぶし

このコンテナに:を与えるとき、オプションの値が使われますそれぞれ、コンテナーが表示されるかどうか、境界線のストロークオプション、内部塗りつぶしオプションを示します。

IsEnabled

このコンテナが有効にされるかどうか示しているオプションの値。コンテナが無効にされるならば、それはオートメーションとみなされる読取り専用により用いられるでしょう。

ラベル

コンテナ(例えばマップの凡例)の上で固定テキストを覆うのに用いられることができる任意ラベル

リサイズ

目的のサイズに簡単にコンテナの大きさを変更するメソッド。いろいろなオプションを持っています

サンプル

このサンプルは新しいコンテナを作成して、それに行と長方形オブジェクトを追加して、それを保存して、それから、後ろにそれをロードします。

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

      
public void AnnContainer_AnnContainer()
{
   double inch = 720.0;
   // 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 * inch, 11 * inch);

   // 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;

   // Show information about the data we just saved
   AnnCodecsInfo info = codecs.GetInfo(destFileName);
   string message;
   if (info.Format == AnnFormat.Annotations)
   {
      message = "Version: ";
      message += info.Version;
      message += " No. of pages: ";
      message += info.Pages.Length;
      message += " page nos: ";
      for (int i = 0; i < info.Pages.Length; i++)
      {
         message += info.Pages[i] + " ";
      }
   }
   else
   {
      message = "Invalid annotations data";
   }

   Debug.WriteLine(message);

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

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

private void ShowContainer(String message, AnnContainer container)
{
   string str = message + "\nContainer size: ";

   // Add the size
   double inch = 720;
   double width = container.Size.Width / inch;
   double height = container.Size.Height / inch;
   str += width + " by " + height + " inches" + "\n";

   // Add the objects
   str += "Contains " + container.Children.Count + " objects(s)\n";
   for (int i = 0; i < container.Children.Count; i++)
   {
      AnnObject annObj = container.Children[i];

      str += "Object: " + annObj.FriendlyName + " at ";
      for (int j = 0; j < annObj.Points.Count; j++)
      {
         LeadPointD pt = annObj.Points[j];
         double x = pt.X / inch;
         double y = pt.Y / inch;
         str += "(" + x + ", " + y + ") ";
      }

      str += "\n";
   }

   Debug.WriteLine(str);
}
using Leadtools.Converters;
using Leadtools.Annotations.Automation;
using Leadtools.Controls;
using Leadtools.Annotations.Core;
using Leadtools.Codecs;

      
public async Task AnnContainer_AnnContainer()
{
   double inch = 720.0;
   // 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 * inch, 11 * inch);

   // 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;

   // Show information about the data we just saved
   AnnCodecsInfo info = await codecs.GetInfoAsync(saveFile);
   string message;
   if (info.Format == AnnFormat.Annotations)
   {
      message = "Version: ";
      message += info.Version;
      message += " No. of pages: ";
      message += info.Pages.Length;
      message += " page nos: ";
      for (int i = 0; i < info.Pages.Length; i++)
      {
         message += info.Pages[i] + " ";
      }
   }
   else
   {
      message = "Invalid annotations data";
   }

   Debug.WriteLine(message);

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

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

private void ShowContainer(String message, AnnContainer container)
{
   string str = message + "\nContainer size: ";

   // Add the size
   double inch = 720;
   double width = container.Size.Width / inch;
   double height = container.Size.Height / inch;
   str += width + " by " + height + " inches" + "\n";

   // Add the objects
   str += "Contains " + container.Children.Count + " objects(s)\n";
   for (int i = 0; i < container.Children.Count; i++)
   {
      AnnObject annObj = container.Children[i];

      str += "Object: " + annObj.FriendlyName + " at ";
      for (int j = 0; j < annObj.Points.Count; j++)
      {
         LeadPointD pt = annObj.Points[j];
         double x = pt.X / inch;
         double y = pt.Y / inch;
         str += "(" + x + ", " + y + ") ";
      }

      str += "\n";
   }

   Debug.WriteLine(str);
}
必要条件

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

参照

参照

AnnContainerメンバ
Leadtools.Annotations.Core名前空間
実現LEADTOOLSアノテーション
自動アノテーションの操作

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