TImageEnVect.GetObjDiagLen
Declaration
function GetObjDiagLen(hobj: integer): double;
Description
GetObjDiagLen returns the diagonal length of the specified object.
For a box (image or rectangle) it is the diagonal length. For a line it is the line or ruler length.
Ruler calculates distance differently, so you should use this routine instead:
function FixedGetObjDiagLen(ie: TImageEnVect; hobj: integer): double;
var
lx, ly: double;
r: TRect;
begin
ie.GetObjRect(hobj, r);
lx := abs(r.Right-r.Left) * ie.MeasureCoefX;
ly := abs(r.Bottom-r.Top) * ie.MeasureCoefY;
result := sqrt(lx * lx + ly * ly);
end;
Transition Information
If you are transitioning your code to
TImageEnView Layers, instead of GetObjDiagLen, use:
TIELayer.RulerValue
d := ImageEnView1.CurrentLayer.RulerValue;