- 积分
- 59463
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2012-7-18
- 最后登录
- 1970-1-1
|
发表于 2018-10-10 18:57:03
|
显示全部楼层
本帖最后由 chengxf 于 2018-10-10 19:03 编辑
C# 我不懂啊。下面一段代码,是 Pascal 语言所写,我用到的一段,你参考吧,如果没用,就不要看了。
你需要在哪里显示一段文本字符,还不是你说了算!Surfer 软件没有限制。
添加标题等文本,不要添加图层,只需添加一个“文本对象”,然后指定这个对象的 Left、Top 坐标,就可以了。跟原来的图形没有关系。
//绘制图形的副标题_同时顶边轴的处理
P_Axes := P_MapFrame.Axes; //先写副标题
TopAxis := P_Axes.Item[2]; //底边轴-1,顶边轴-2,左边轴-3,右边轴-4。这里不能像VB直接指定,P_Axes[2]不行
TopAxis.Title := RzEdit_MinoTitle.Text; //顶边轴,需要写上图形的辅助标题
TopAxis.TitleFont.Face := cbox_MinoTitle.FontName; //辅助标题字体,字符串
TopAxis.TitleFont.Size := RxSpinEdit_MinoTitle.AsInteger; //辅助标题字号,整形值
TopAxis.TitleFont.Italic := RzCheckBox_Italic.Checked; //辅助标题是否斜体,也许对汉字不起作用
TopAxis.TitleFont.HAlign := 2; //文本行对齐方式:1-左齐,2-居中,3-右齐
TopAxis.MajorTickType := 1; //坐标刻度不显示-1,显示在外-2,显示在内-3,显示穿过轴线-4
TopAxis.MinorTickType := 1;
TopAxis.ShowLabels := False; //坐标标注不显示-False,显示-True
//绘制图形的主标题
x := P_MapFrame.Left + P_MapFrame.Width * 0.5; //地图中心的 X 坐标
y := P_MapFrame.Top + SEdit_TitleY.Value; //地图主标题上方的 Y 坐标
MainTitle := P_Shapes.AddText(x,y,RzEdit_MajoTitle.Text); //再写主标题,在位置 x,y 添加一个文字对象
MainTitle.Font.Face := cBox_MajoTitle.FontName; //主标题字体,字符串
MainTitle.Font.Size := RxSpinEdit_MajoTitle.AsInteger; //主标题字号,整形值
MainTitle.Font.Bold := RzCheckBox_Bold.Checked; //主标题是否加粗
MainTitle.Left := P_MapFrame.Left + (P_MapFrame.width - MainTitle.width)/2; //确定标题的最左边界点位置
//右边轴的处理
RightAxis := P_Axes.Item[4]; //右边轴
RightAxis.MajorTickType := 1; //坐标刻度不显示-1,显示在外-2,显示在内-3,显示穿过轴线-4
RightAxis.MinorTickType := 1;
RightAxis.ShowLabels := False; //坐标标注不显示-False,显示-True
//底边轴的处理
BottomAxis := P_Axes.Item[1]; //右边轴
BottomAxis.MajorTickType := 2; //坐标刻度不显示-1,显示在外-2,显示在内-3,显示穿过轴线-4
BottomAxis.MinorTickType := 2;
BottomAxis.ShowLabels := True; //坐标标注不显示-False,显示-True
//BottomAxis.LabelFormat.Type := 4; //可惜目前无法通过 Automation 设置 DMS 形式的标注
BottomAxis.LabelFormat.Postfix := RzEdit_BottomPostfix.Text; //添加后缀°E
//左边轴的处理
LeftAxis := P_Axes.Item[3]; //右边轴
LeftAxis.MajorTickType := 2; //坐标刻度不显示-1,显示在外-2,显示在内-3,显示穿过轴线-4
LeftAxis.MinorTickType := 2;
LeftAxis.ShowLabels := True; //坐标标注不显示-False,显示-True
LeftAxis.LabelFormat.Postfix := RzEdit_LeftPostfix.Text; //添加后缀°E
|
|