예제 #1
0
        public MapObjects2.LabelRenderer GetLabelRender(LabelRenderStruct render)
        {
            MapObjects2.LabelRenderer oMapRender = new MapObjects2.LabelRendererClass();

            oMapRender.AllowDuplicates = render.AllowDuplicates;
            oMapRender.DrawBackground  = render.DrawBackground;
            oMapRender.Field           = render.Field;
            oMapRender.FittedField     = render.FittedField;
            oMapRender.Flip            = render.Flip;
            oMapRender.HeightField     = render.HeightField;
            oMapRender.LevelField      = render.LevelField;
            oMapRender.MaxLevel        = render.MaxLevel;
            oMapRender.MinLevel        = render.MinLevel;
            oMapRender.RotationField   = render.RotationField;
            oMapRender.SplinedText     = render.SplinedText;
            oMapRender.SymbolCount     = render.SymbolCount;
            oMapRender.SymbolField     = render.SymbolField;
            oMapRender.Tag             = render.Tag;
            oMapRender.XOffsetField    = render.XOffsetField;
            oMapRender.YOffsetField    = render.YOffsetField;

            short iIndex = 0;

            foreach (TextSymbolStruct oSymbol in render.SymbolList)
            {
                MapObjects2.TextSymbol otext = new MapObjects2.TextSymbol();
                this.ConvertTextSymbol(oSymbol, oMapRender.get_Symbol(iIndex));

                iIndex++;
            }

            return(oMapRender);
        }
예제 #2
0
 private void DeconvertTextSymbol(MapObjects2.TextSymbol fromSymbol, TextSymbolStruct toSymbol)
 {
     toSymbol.TextColor           = System.Drawing.ColorTranslator.FromWin32((int)fromSymbol.Color);
     toSymbol.Fitted              = fromSymbol.Fitted;
     toSymbol.TextFont            = fromSymbol.Font;
     toSymbol.Height              = fromSymbol.Height;
     toSymbol.HorizontalAlignment = (short)fromSymbol.HorizontalAlignment;
     toSymbol.VerticalAlignment   = (short)fromSymbol.VerticalAlignment;
     toSymbol.Rotation            = fromSymbol.Rotation;
 }
예제 #3
0
 public void ConvertTextSymbol(TextSymbolStruct fromSymbol, MapObjects2.TextSymbol toSymbol)
 {
     toSymbol.Color  = (uint)fromSymbol.TextColor.ToArgb();
     toSymbol.Fitted = fromSymbol.Fitted;
     toSymbol.Font   = fromSymbol.TextFont;
     toSymbol.Height = fromSymbol.Height;
     toSymbol.HorizontalAlignment = (MapObjects2.AlignmentConstants)fromSymbol.HorizontalAlignment;
     toSymbol.VerticalAlignment   = (MapObjects2.AlignmentConstants)fromSymbol.VerticalAlignment;
     toSymbol.Rotation            = fromSymbol.Rotation;
 }
예제 #4
0
 public void ConvertTextSymbol(TextSymbolStruct fromSymbol, MapObjects2.TextSymbol toSymbol)
 {
     toSymbol.Color               = (uint)Converter.ConvertSystemtoIntegerColor(fromSymbol.TextColor);
     toSymbol.Fitted              = fromSymbol.Fitted;
     toSymbol.Font.Name           = fromSymbol.TextFont.Name;
     toSymbol.Font.Size           = (decimal)fromSymbol.TextFont.Size;
     toSymbol.Height              = fromSymbol.Height;
     toSymbol.HorizontalAlignment = (MapObjects2.AlignmentConstants)fromSymbol.HorizontalAlignment;
     toSymbol.VerticalAlignment   = (MapObjects2.AlignmentConstants)fromSymbol.VerticalAlignment;
     toSymbol.Rotation            = fromSymbol.Rotation;
 }
예제 #5
0
        private LabelRenderStruct ExportLabelRender(MapObjects2.LabelRenderer render)
        {
            LabelRenderStruct oLabelRender = new LabelRenderStruct();

            oLabelRender.AllowDuplicates = render.AllowDuplicates;
            oLabelRender.DrawBackground  = render.DrawBackground;
            oLabelRender.Field           = render.Field;
            oLabelRender.FittedField     = render.FittedField;
            oLabelRender.Flip            = render.Flip;
            oLabelRender.HeightField     = render.HeightField;
            oLabelRender.LevelField      = render.LevelField;
            oLabelRender.MaxLevel        = render.MaxLevel;
            oLabelRender.MinLevel        = render.MinLevel;
            oLabelRender.RotationField   = render.RotationField;
            oLabelRender.SplinedText     = render.SplinedText;
            oLabelRender.SymbolCount     = render.SymbolCount;
            oLabelRender.SymbolField     = render.SymbolField;
            oLabelRender.Tag             = render.Tag;
            oLabelRender.XOffsetField    = render.XOffsetField;
            oLabelRender.YOffsetField    = render.YOffsetField;

            short iIndex = 0;

            MapObjects2.TextSymbol oMapTextSymbol = render.get_Symbol(iIndex);

            while (oMapTextSymbol != null)
            {
                TextSymbolStruct oTextSymbol = new TextSymbolStruct();
                this.DeconvertTextSymbol(oMapTextSymbol, oTextSymbol);
                oLabelRender.SymbolList.Add(oTextSymbol);

                iIndex++;

                try
                {
                    oMapTextSymbol = render.get_Symbol(iIndex);
                }
                catch
                {
                    break;
                }
            }

            return(oLabelRender);
        }
예제 #6
0
        public MapObjects2.LabelRenderer GetLabelRender(LabelRenderStruct render)
        {
            MapObjects2.LabelRenderer oMapRender = new MapObjects2.LabelRendererClass();

            oMapRender.AllowDuplicates = render.AllowDuplicates;
            oMapRender.DrawBackground = render.DrawBackground;
            oMapRender.Field = render.Field;
            oMapRender.FittedField = render.FittedField;
            oMapRender.Flip = render.Flip;
            oMapRender.HeightField = render.HeightField;
            oMapRender.LevelField = render.LevelField;
            oMapRender.MaxLevel = render.MaxLevel;
            oMapRender.MinLevel = render.MinLevel;
            oMapRender.RotationField = render.RotationField;
            oMapRender.SplinedText = render.SplinedText;
            oMapRender.SymbolCount = render.SymbolCount;
            oMapRender.SymbolField = render.SymbolField;
            oMapRender.Tag = render.Tag;
            oMapRender.XOffsetField = render.XOffsetField;
            oMapRender.YOffsetField = render.YOffsetField;

            short iIndex = 0;
            foreach (TextSymbolStruct oSymbol in render.SymbolList)
            {
                MapObjects2.TextSymbol otext = new MapObjects2.TextSymbol();
                this.ConvertTextSymbol(oSymbol, oMapRender.get_Symbol(iIndex));

                iIndex++;
            }

            return oMapRender;
        }