首页 / 浏览问题 / 组件GIS / 问题详情
超图导出标签专题图为dwg字体太大
216EXP 2018年11月30日

SuperMap Objects.NET9.01组件开发,超图三维矢量数据,在导出标签专题图之后字体太大。MapControl中的字体会随着底图的放大自适应缩放,但是导出dwg后字体不会自动缩放。

制作标签专题图代码如下:

 /// <summary>
        /// 二维点标签专题图
        /// </summary>
        /// <param name="dataset"></param>
        public void Load2DPointLabel(Dataset dataset)
        {
            ThemeLabel themeLabel = new ThemeLabel();

            TextStyle textStyle = new TextStyle();
            textStyle.ForeColor = Color.FromArgb(115, 0, 74);
            textStyle.BackColor = Color.FromArgb(231, 227, 231);
            textStyle.Bold = true;
            textStyle.Outline = true;
            textStyle.FontHeight = 4;
            textStyle.FontName = "宋体";

            themeLabel.LabelExpression = ClsFieldMapping.plptno;

            // 设置统一风格
            themeLabel.UniformStyle = textStyle;
            // 将制作好的专题图添加到地图中显示
            Layer themeLayer = m_mapControl.Map.Layers.Add(dataset, themeLabel, true);
            //m_themeLayerName = themeLayer.Name;

            m_mapControl.Map.Refresh();
        }

MapControl中的字体会随着底图的放大自适应缩放。

导出的dwg文件如下图所示:

1个回答

您好!建议您将标签专题图的文字固定大小设置为false试试呢,并且导出dwg格式在CAD里打开字体很大,您将字体大小修改一下即可。
3,352EXP 2018年11月30日
怎么将标签专题图的文字固定大小设置为false呢?是哪个属性?
 /// <summary>
        /// 二维线标签专题图
        /// </summary>
        /// <param name="dataset"></param>
        public void Load2DLineLabel(Dataset dataset)
        {
            ThemeLabel themeLabel = new ThemeLabel();

            TextStyle textStyle = new TextStyle();
            textStyle.ForeColor = Color.FromArgb(115, 0, 74);
            textStyle.BackColor = Color.FromArgb(231, 227, 231);
            textStyle.FontName = "宋体";
            textStyle.Bold = true;
            textStyle.Outline = true;
            textStyle.FontHeight = 4;
            //TODO:YJW将标签专题图的文字固定大小设置为false
            //textStyle.IsSizeFixed = false;


            themeLabel.LabelExpression = ClsFieldMapping.plid;

            // 设置统一风格
            themeLabel.UniformStyle = textStyle;
            // 将制作好的专题图添加到地图中显示
            Layer themeLayer = m_mapControl.Map.Layers.Add(dataset, themeLabel, true);
            //m_themeLayerName = themeLayer.Name;

            m_mapControl.Map.Refresh();
        }
是这个属性吗?textStyle.IsSizeFixed = false;但是这个属性设置完成之后出出现了字体阴影啊。

...