public void SetUp() { a = new Vector(-100, 50); b = new Vector(32, 45); cover = new Rectangle(50, 50, -100, -100); coordinateSystemConverter = new VectorCoordinateSystemConverter(cover); }
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); } }
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)); }