LEADTOOLS JavaScript(Leadtools.Annotations.Core)

AnnDeserializeOptionsオブジェクト。

フレームを表示
サンプル 
メンバ 
アノテーションオブジェクトをロードする際に使うオプション。
構文
function Leadtools.Annotations.Core.AnnDeserializeOptions() 
解説

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

メンバ 説明
DeserializeObject

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

DeserializeObjectError

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

サンプル

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

example: function SiteLibrary_DefaultPage$example() {
   // Create a new annotation container, 8.5 by 11 inches
   var container = new lt.Annotations.Core.AnnContainer();
   // Size must be in annotation units (1/720 of an inch)
   container.set_size(lt.LeadSizeD.create(8.5 * 720, 11 * 720));

   var inch = 720.0;
   // Add a red line object, from 1in 1in to 2in 2in
   var lineObj = new lt.Annotations.Core.AnnPolylineObject();
   lineObj.get_points().add(lt.LeadPointD.create(1 * inch, 1 * inch));
   lineObj.get_points().add(lt.LeadPointD.create(2 * inch, 2 * inch));
   lineObj.set_stroke(lt.Annotations.Core.AnnStroke.create(lt.Annotations.Core.AnnSolidColorBrush.create("red"), lt.LeadLengthD.create(1)));
   container.get_children().add(lineObj);

   // Add a blue on yellow rectangle from 3in 3in to 4in 4in
   var rectObj = new lt.Annotations.Core.AnnRectangleObject();
   rectObj.set_rect(lt.LeadRectD.create(3 * inch, 3 * inch, 1 * inch, 1 * inch));
   rectObj.set_stroke(lt.Annotations.Core.AnnStroke.create(lt.Annotations.Core.AnnSolidColorBrush.create("blue"), lt.LeadLengthD.create(1)));
   rectObj.set_fill(lt.Annotations.Core.AnnSolidColorBrush.create("yellow"));
   container.get_children().add(rectObj);

   // Show the container
   this.showContainer("Before save", container);

   // Create the codecs object to save and load annotations
   var codecs = new lt.Annotations.Core.AnnCodecs();

   // Save the container
   var xmlData = codecs.save(container, lt.Annotations.Core.AnnFormat.annotations, null, 1);

   // delete the container
   container = null;

   // Create a new instance of AnnDeserializeOptions and Hook to the DeserializeObject and DeserializeObjectError events
   var deserializeOptions = new lt.Annotations.Core.AnnDeserializeOptions();
   deserializeOptions.add_deserializeObject(function(sender, e) {
      // e is of type AnnSerializeObjectEventArgs
      alert("loading object of type: " + e.get_typeName());
   });
   deserializeOptions.add_deserializeObjectError(function(sender, e) {
      // e is of type AnnSerializeObjectEventArgs
      alert(e.get_error().message);
   });

   // Set it as our deserialize options
   codecs.set_deserializeOptions(deserializeOptions);

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

   // Show it
   this.showContainer("After load", container);
},

showContainer: function SiteLibrary_DefaultPage$showContainer(message, container) {
   var str = message + "\nContainer size: ";

   // Add the size
   var inch = 720;
   var width = container.get_size().get_width() / inch;
   var height = container.get_size().get_height() / inch;
   str += width + " by " + height + " inches" + "\n";

   // Add the objects
   str += "Contains " + container.get_children().get_count() + " objects(s)\n";
   for (var i = 0; i < container.get_children().get_count(); i++) {
      var annObj = container.get_children().get_item(i);

      str += "Object: " + annObj.get_friendlyName() + " at ";
      for (var j = 0; j < annObj.get_points().get_count(); j++) {
         var pt = annObj.get_points().get_item(j);
         var x = pt.get_x() / inch;
         var y = pt.get_y() / inch;
         str += "(" + x + ", " + y + ") ";
      }

      str += "\n";
   }

   alert(str);
},
参照

参照

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