private void ExampleButton_Click(object sender, RoutedEventArgs e) { var sizes = new List <Size> { new Size(100, 70), //first new Size(60, 30), new Size(70, 40), new Size(80, 40), new Size(65, 30), new Size(85, 25), //top, right new Size(60, 40), new Size(80, 30), new Size(75, 25), new Size(80, 30), new Size(90, 50), //bottom, left new Size(100, 30), new Size(80, 20), new Size(50, 35), new Size(60, 20), //top new Size(50, 15), new Size(80, 30), new Size(70, 20), new Size(90, 25), new Size(60, 60), new Size(70, 30), //right new Size(120, 35), new Size(90, 40), new Size(80, 20), //bottom new Size(70, 30), new Size(90, 30), new Size(120, 40), new Size(100, 50), new Size(70, 20) //left }; cloudLayouter = new CircularCloudLayouter(new Point(400, 200)); foreach (var size in sizes) { var rectangle = cloudLayouter.PutNextRectangle(size); Cloud.Add(new RectangleItem { Height = rectangle.Height, Width = rectangle.Width, X = rectangle.X, Y = rectangle.Y }); } }
private void PutRectangles(ITagCloudLayouter cloud, int count) { for (var i = 0; i < count; i++) { cloud.PutNextRectangle(sizes[i]); } }
public TagGenerator(WordManager wordManager, ITagCloudLayouter tagLayouter, IWordAnalyzer wordAnalyzer, IExceptionHandler exceptionHandler) { this.wordManager = wordManager; this.tagLayouter = tagLayouter; this.wordAnalyzer = wordAnalyzer; this.exceptionHandler = exceptionHandler; }
public WordsForCloudGenerator(string fontName, int maxFontSize, ITagCloudLayouter tagCloudLayouter, IColorGenerator colorGenerator) { this.tagCloudLayouter = tagCloudLayouter; this.fontName = fontName; this.maxFontSize = maxFontSize; this.colorGenerator = colorGenerator; }
public TagCloudElementsPreparer( ITagCloudLayouter tagCloudLayouter, IWordPainter wordPainter, PictureConfig config) { this.tagCloudLayouter = tagCloudLayouter; this.wordPainter = wordPainter; this.config = config; }
private WordInfo[] GetRectangles(WordInfo[] wordsAndFrequencies, ITagCloudLayouter layouter) { var wordInfos = new List <WordInfo>(); foreach (var wordAndFrequency in wordsAndFrequencies) { var word = wordAndFrequency.Word; var frequency = wordAndFrequency.Frequency; var font = new Font(fontSettings.Font.FontFamily, frequency * fontSettings.FontSizeFactor); var size = TextRenderer.MeasureText(word, font); wordAndFrequency.FontSize = font.Size; wordAndFrequency.Rect = layouter.PutNextRectangle(size); wordInfos.Add(wordAndFrequency); } return(wordInfos.ToArray()); }
private void NewCloudButton_Click(object sender, RoutedEventArgs e) { try { Cloud.Clear(); var center = new Point(int.Parse(CenterXTextBox.Text), int.Parse(CenterYTextBox.Text)); cloudLayouter = new CircularCloudLayouter(center); Cloud.Add(new RectangleItem { Width = 2, Height = 2, X = center.X, Y = center.Y }); } catch (Exception exception) { MessageBox.Show(exception.Message, "Error"); } }
public TagCloudDrawer(TagCloudVizualizer vizualizer, ITagCloudLayouter layouter, IColorSelector colorSelector) { this.vizualizer = vizualizer; this.layouter = layouter; this.colorSelector = colorSelector; }
public IWordsForCloudGenerator Get(string fontName, int maxFontSize, ITagCloudLayouter tagCloudLayouter, IColorGenerator colorGenerator) { return(new WordsForCloudGenerator(fontName, maxFontSize, tagCloudLayouter, colorGenerator)); }
public TagGenerator(WordManager wordManager, ITagCloudLayouter tagLayouter, IWordAnalyzer wordAnalyzer) { this.wordManager = wordManager; this.tagLayouter = tagLayouter; this.wordAnalyzer = wordAnalyzer; }