public Bitmap GetBitmap( IEnumerable <string> texts, Color[] colors, int width = 100, int height = 100, double minFont = 1.0, double maxFont = 10.0, string fontName = "Arial" ) { var bitmap = new Bitmap(width, height); var center = bitmap.Size.GetCenter(); var graphics = Graphics.FromImage(bitmap); lock (this) { var textImages = GetStringImages(texts, colors, minFont, maxFont, fontName); textImages = textImages .OrderBy(stringImage => - stringImage.Size.Width * stringImage.Size.Height); var flags = TextFormatFlags.NoPadding | TextFormatFlags.NoClipping; cloudLayouter.PrepareLayouter(center); foreach (var textImage in textImages) { var rectangle = cloudLayouter.PutNextRectangle(textImage.Size); TextRenderer.DrawText( graphics, textImage.Text, textImage.Font, rectangle.Location, textImage.Color, flags ); } } return(bitmap); }