Ejemplo n.º 1
0
        private Rectangle GetContainerFor(string tag, Font font, int padding,
                                          RectangleLayouter layouter)
        {
            var size = TextRenderer.MeasureText(tag, font) + new Size(padding, padding);

            return(layouter.PutNextRectangle(size));
        }
Ejemplo n.º 2
0
        private void DrawTags(
            IEnumerable <string> tags,
            Graphics graphics,
            Point imageCenter,
            TagsCloudSettings settings)
        {
            var font     = settings.Font;
            var layouter = new RectangleLayouter(imageCenter, settings.LayoutTrack);

            foreach (var tag in tags)
            {
                var container = GetContainerFor(tag, font,
                                                settings.TagContainerPadding, layouter);

                DrawString(tag, font, graphics, settings.TextColor, container);

                if (font.Size >= 9)
                {
                    font = new Font(font.FontFamily, font.Size - 2);
                }
            }
        }