Esempio n. 1
0
        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]);
     }
 }
Esempio n. 3
0
 public TagGenerator(WordManager wordManager, ITagCloudLayouter tagLayouter,
                     IWordAnalyzer wordAnalyzer, IExceptionHandler exceptionHandler)
 {
     this.wordManager      = wordManager;
     this.tagLayouter      = tagLayouter;
     this.wordAnalyzer     = wordAnalyzer;
     this.exceptionHandler = exceptionHandler;
 }
Esempio n. 4
0
 public WordsForCloudGenerator(string fontName, int maxFontSize, ITagCloudLayouter tagCloudLayouter,
                               IColorGenerator colorGenerator)
 {
     this.tagCloudLayouter = tagCloudLayouter;
     this.fontName         = fontName;
     this.maxFontSize      = maxFontSize;
     this.colorGenerator   = colorGenerator;
 }
Esempio n. 5
0
 public TagCloudElementsPreparer(
     ITagCloudLayouter tagCloudLayouter,
     IWordPainter wordPainter,
     PictureConfig config)
 {
     this.tagCloudLayouter = tagCloudLayouter;
     this.wordPainter      = wordPainter;
     this.config           = config;
 }
Esempio n. 6
0
        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());
        }
Esempio n. 7
0
 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");
     }
 }
Esempio n. 8
0
 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));
 }
Esempio n. 10
0
 public TagGenerator(WordManager wordManager, ITagCloudLayouter tagLayouter, IWordAnalyzer wordAnalyzer)
 {
     this.wordManager  = wordManager;
     this.tagLayouter  = tagLayouter;
     this.wordAnalyzer = wordAnalyzer;
 }