private void AddRectangle(int progress, int max, double totalWidth, double totalHeight, double padding, Canvas c) { Rectangle rect = new Rectangle(); c.Children.Add(rect); Canvas.SetLeft(rect, padding + progress * totalWidth / max); Canvas.SetBottom(rect, padding); rect.Fill = new SolidColorBrush(HSVtoRGB.Convert((float)progress / (float)max, 1.0f, 1.0f, 1.0f)); rect.Width = totalWidth / max; rect.Height = totalHeight; }
public void ChangeColour(int index, int max) { int x = Loadings[index]; if (x == 0) { L.Stroke = Brushes.Black; L.StrokeThickness = EmptyLineThickness; } else { double ratio = Math.Log(x) / Math.Log(max); Color col = HSVtoRGB.Convert((float)ratio, 1.0f, 1.0f, 1.0f); L.Stroke = new SolidColorBrush(col); L.StrokeThickness = EmptyLineThickness + (LineExpansion * ratio * ratio); // squared to get more obvious expansion } }