private static int GetLeftPadding(SignViewModel signViewModel)
        {
            var signModel = signViewModel.Sign;
            var columnCenter = 80;
            if (signModel.Lane == 'L') columnCenter = 30;
            if (signModel.Lane == 'R') columnCenter = 130;

            int signxMin = int.MaxValue, signyMin = int.MaxValue, signxMax = int.MinValue, signyMax = int.MinValue;
            var firstOrDefault = signModel.Frames.FirstOrDefault();
            if (firstOrDefault != null)
                foreach (var symbol in firstOrDefault.Symbols)
                {
                    int symxMin = symbol.X;
                    int symyMin = symbol.Y;
                    int symxMax = symbol.X + GetSymbolWidth(symbol.Code);
                    int symyMax = symbol.Y + GetSymbolHeight(symbol.Code);

                    if (symxMin < signxMin) signxMin = symxMin;
                    if (symyMin < signyMin) signyMin = symyMin;
                    if (symxMax > signxMax) signxMax = symxMax;
                    if (symyMax > signyMax) signyMax = symyMax;
                }
            var width = signxMax - signxMin;
            var toLeftofColumnCenter = width - (signxMax - 500);

            return columnCenter - toLeftofColumnCenter;
        }
        private static Size GetSize(SignViewModel signViewModel)
        {
            var signModel = signViewModel.Sign;

            int signxMin = int.MaxValue, signyMin = int.MaxValue, signxMax = int.MinValue, signyMax = int.MinValue;
            var firstOrDefault = signModel.Frames.FirstOrDefault();
            if (firstOrDefault != null)
                foreach (var symbol in firstOrDefault.Symbols)
                {
                    int symxMin = symbol.X;
                    int symyMin = symbol.Y;
                    int symxMax = symbol.X + GetSymbolWidth(symbol.Code);
                    int symyMax = symbol.Y + GetSymbolHeight(symbol.Code);

                    if (symxMin < signxMin) signxMin = symxMin;
                    if (symyMin < signyMin) signyMin = symyMin;
                    if (symxMax > signxMax) signxMax = symxMax;
                    if (symyMax > signyMax) signyMax = symyMax;

                }

            return new Size(signxMax - signxMin, signyMax - signyMin);
        }
 private static SignViewModel ConvertSigntoSignViewModel(Sign signModel)
 {
     //var size = GetSize(signModel.MinBounding.X, signModel.MinBounding.Y, signModel.MaxBounding.X,
     //                   signModel.MaxBounding.Y, 10);
     var size = GetSize(signModel);
     //var leftPadding = GetLeftPadding(signModel);
     //var margin = new Thickness(leftPadding, 0, 0, 0);
     //_top += size.Height;
     //var top = _top;
     var svm = new SignViewModel
     {
         Sign = signModel,
         Symbols = GetSymbols(signModel),
         Height = size.Height,
         Width = size.Width,
         //Margin = margin,
         //LefttoEdge = leftPadding,
         //Top = top
     };
     return svm;
 }