Esempio n. 1
0
        public void NotChangeDistanceBetweenVectors()
        {
            var ta    = coordinateSystemConverter.Transform(a);
            var tb    = coordinateSystemConverter.Transform(b);
            var delta = new PointF(tb.X - ta.X, tb.Y - ta.Y);

            ((int)Math.Sqrt(delta.X * delta.X + delta.Y * delta.Y)).Should().Be(a.DistanceTo(b));
        }
Esempio n. 2
0
        public void Render(Graphics graphics, TagCloud tagCloud)
        {
            var transform = new VectorCoordinateSystemConverter(showRectangles ? tagCloud.LayoutCoveringRectangle : tagCloud.TagsCoveringRectangle);

            if (showRectangles)
            {
                foreach (var rectangle in tagCloud.Rectangles)
                {
                    var rectF = transform.Transform(rectangle);
                    graphics.FillRectangle(new SolidBrush(rectangle.Size.ToColor()), rectF);
                    graphics.DrawRectangle(new Pen(Color.GreenYellow), rectF.X, rectF.Y, rectF.Width, rectF.Height);
                }
            }
            var rnd = new Random();

            foreach (var tag in tagCloud.Tags)
            {
                var rectF = transform.Transform(tag.Key);
                graphics.TextRenderingHint = TextRenderingHint.ClearTypeGridFit;
                var goodFont  = FindFont(graphics, tag.Value, rectF.Size, new Font(FontFamily.GenericMonospace, 128));
                var textBrush = textBrushes[rnd.Next(textBrushes.Count)];
                graphics.DrawString(tag.Value, goodFont, textBrush, rectF, stringFormat);
            }
        }
Esempio n. 3
0
        public static RectangleF Transform(this VectorCoordinateSystemConverter coordinateSystemConverter, Rectangle rectangle)
        {
            var a = coordinateSystemConverter.Transform(rectangle.LeftTop);

            return(new RectangleF(a.X, a.Y, rectangle.Size.Width, rectangle.Size.Height));
        }