private void VisitDynamic(ShapeDynamicTextBase dynamic) { if (string.IsNullOrEmpty(dynamic.Text)) { return; } var hideGrid = true; var FontMgr = dynamic.FontMgr; FontMgr.ShowGrid = !hideGrid; FontMgr.ScaleIndex = Zoom; FontMgr.SetStyle(dynamic.IsFrameSizeFixed, dynamic.IsFontSizeFixed); FontMgr.TextColor = dynamic.ConveredForeColor(Layer.Shape.SignType); //.ForeColor; FontMgr.BackColor = dynamic.ConveredBackColor(Layer.Shape.SignType); //.BackColor; FontMgr.FontName = dynamic.Font.Name; FontMgr.FontHeight = dynamic.Font.Size * Zoom; FontMgr.Alignment = dynamic.Align; FontMgr.LineAlignment = dynamic.Valign; FontMgr.Bold = (dynamic.Font.Style & FontStyle.Bold) == FontStyle.Bold; FontMgr.Italic = (dynamic.Font.Style & FontStyle.Italic) == FontStyle.Italic; FontMgr.SignSize = new Size(dynamic.SignSize.Width * Zoom - 2, dynamic.SignSize.Height * Zoom - 2); FontMgr.FrameSize = DrawMode == DESDrawMode.Sign ? FontMgr.SignSize : dynamic.VirtualBounds.Size; FontMgr.Text = dynamic.Text; List <Image> imagesActual = new List <Image>(); List <Image> images = new List <Image>(); List <string> strings = new List <string>(); FontMgr.GenerateBmps(imagesActual, images, strings); if (images.Count > 0) { dynamic.BitmapOverlay = images[0]; dynamic.InnerImage = new Bitmap(dynamic.BitmapOverlay); } if (dynamic.BitmapOverlay != null) { dynamic.InnerImagePath = dynamic.SaveImage(dynamic.BitmapOverlay); } dynamic.IsChanged = true; }