本页内容
测量距离
距离测量工具允许您的用户测量代表平面图中的对象(例如房屋、街道或墙壁)的两点之间的距离。选择此工具后,用户只需用指针或手指点击起点与终点,即可取得两点间的距离。
距离测量工具有两类:线段测量工具与折线测量工具。线段测量工具可以测量起始和结束两点间的距离,折线测量工具会测量折线绘制过程中所有相邻两点间的距离,并计算总长度。
以线段测量工具为例,配置测量属性后,可通过以下步骤设置 CPDFViewerTool
创建距离测量工具模式:
- 将工具类型设置为注释创建模式。
- 创建一个
LineMeasureParam
对象(如果创建的是折线工具,则使用PolyLineMeasureParam
对象),该对象可用于设置距离测量工具的属性。
以下是创建距离测量工具的示例代码:
c#
// 初始化 CPDFViewerTool。
CPDFDocument doc = CPDFDocument.InitWithFilePath("filePath");
CPDFViewerTool tool = new CPDFViewerTool();
tool.GetCPDFViewer().InitDoc(doc);
CPDFToolManager toolManager = new CPDFToolManager(tool);
// 将鼠标模式设置为注释创建模式。
toolManager.SetToolType(ToolType.CreateAnnot);
toolManager.SetCreateAnnotType(C_ANNOTATION_TYPE.C_ANNOTATION_LINE);
// 创建 LineMeasureParam 对象,为距离测量工具设置属性。
LineMeasureParam lineMeasureParam = new LineMeasureParam();
lineMeasureParam.CurrentType = C_ANNOTATION_TYPE.C_ANNOTATION_LINE;
lineMeasureParam.LineColor = new byte[] { 255, 0, 0, };
lineMeasureParam.LineWidth = 2;
lineMeasureParam.Transparency = 255;
lineMeasureParam.FontColor = new byte[] { 255, 0, 0, };
lineMeasureParam.FontName = "Arial";
lineMeasureParam.FontSize = 14;
lineMeasureParam.HeadLineType = C_LINE_TYPE.LINETYPE_ARROW;
lineMeasureParam.TailLineType = C_LINE_TYPE.LINETYPE_ARROW;
lineMeasureParam.measureInfo = new CPDFMeasureInfo
{
Unit = CPDFMeasure.CPDF_CM,
Precision = CPDFMeasure.PRECISION_VALUE_TWO,
RulerBase = 1,
RulerBaseUnit = CPDFMeasure.CPDF_CM,
RulerTranslate = 1,
RulerTranslateUnit = CPDFMeasure.CPDF_CM,
CaptionType = CPDFCaptionType.CPDF_CAPTION_LENGTH,
};
tool.GetDefaultSettingParam().SetAnnotParam(lineMeasureParam);