LEADTOOLS JavaScript(Leadtools.Annotations.Core)

Calibrateメソッド

フレームを表示
サンプル 
既知のソース長値
sourceLengthの単位
調整先の長さ。
destinationUnitの単位
ルーラー換算表を設定します。
構文
 function Leadtools.Annotations.Core.AnnContainerMapper.calibrate( 
   sourceLength ,
   sourceUnit ,
   destinationLength ,
   destinationUnit 
)

パラメーター

パラメーター説明
sourceLengthLeadLengthD既知のソース長値
sourceUnitAnnUnitsourceLengthの単位
destinationLengthLeadLengthD調整先の長さ。
destinationUnitAnnUnitdestinationUnitの単位
解説

このメソッドは、CalibrationScaleのために新しい値を計算するために、パラメータを使います。この値が、このコンテナで作成されるすべての既存のルーラーと新しいルーラーオブジェクトによってその後使われます。

ルーラーを較正することは、特定のlengthをそれに割り当てることを意味します。たとえば手のデジタルレントゲン写真で、いずれかの指に沿ってアノテーションルーラーオブジェクトを描画したとします。この距離が正確に6.5cmであるとされるということを知っています。このような場合は新しいルーラー調整機能を使用して、このルーラー、既存のすべてのルーラー、および新しく作成したすべてのルーラーがこの距離を正確に6.5cmと計測するように調整できます。そのためには、まず指の長さと正確に一致するルーラーをコンテナーに描画してから(表示される値は無視します)、以下のサンプルに示すように校正を使用します。

サンプル

以下のサンプルは、6.5cmであることが分かっている長さでルーラーを描画してから、校正を使用してマッパーの調整スケールを設定します。

example: function SiteLibrary_DefaultPage$example() {
   // Add a ruler with a length of 1 inch to the container
   var container = this._automation.get_container();
   var inch = 720;
   var rulerObj = new lt.Annotations.Core.AnnPolyRulerObject();
   rulerObj.get_points().add(lt.LeadPointD.create(1 * inch, 1 * inch));
   rulerObj.get_points().add(lt.LeadPointD.create(2 * inch, 1 * inch));
   rulerObj.set_stroke(lt.Annotations.Core.AnnStroke.create(lt.Annotations.Core.AnnSolidColorBrush.create("red"), lt.LeadLengthD.create(1)));
   rulerObj.set_showGauge(true);
   rulerObj.set_showTickMarks(true);
   rulerObj.set_measurementUnit(lt.Annotations.Core.AnnUnit.inch);
   container.get_children().add(rulerObj);

   // Show the ruler
   this._automation.invalidate(lt.LeadRectD.get_empty());
   alert("Ruler to calibrate, length is 1 inch");

   // Get the length of the ruler
   var point1 = rulerObj.get_points().get_item(0);
   var point2 = rulerObj.get_points().get_item(1);
   var length = Math.sqrt(Math.pow(Math.abs(point2.get_x() - point1.get_x()), 2) + Math.pow(Math.abs(point2.get_y() - point1.get_y()), 2));

   // Calibrate the container mapper
   container.get_mapper().calibrate(
      lt.LeadLengthD.create(length),           // Source length
      lt.Annotations.Core.AnnUnit.unit,        // Source unit (container units)
      lt.LeadLengthD.create(6.5),              // Destination length
      lt.Annotations.Core.AnnUnit.centimeter); // Destination unit 

   // Use the Centimeters as the measurement unit in the ruler
   rulerObj.set_measurementUnit(lt.Annotations.Core.AnnUnit.centimeter);

   // Now rulerObj should show 6.5 Centimeter as its length
   this._automation.invalidate(lt.LeadRectD.get_empty());
   alert("Calibrated, length is 6.5 cm");
},
参照

参照

AnnContainerMapperオブジェクト。
AnnContainerMapperメンバ