用矩形填充面板宽度(可变尺寸)

时间:2015-05-22 12:33:55

标签: c# .net graphics

我正在制作一个排序算法vizualizer(如Sound of Sorting没有声音)但我偶然发现了一个问题,我似乎无法弄明白。我需要在面板的宽度上布置矩形(可变数量)。

酒吧的图片:

Image of the bars

但是当我得到更多的酒吧时,有时我会得到一个空白区域,因为它不合适:

enter image description here

我怎样才能使一些矩形比其他一些矩形更大以使其适合?我现在计算宽度的方式是这样的:

barWidth = draw.Width / amount; //draw is the panel where i draw the rectangles on

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

我想这是一个四舍五入的问题所以我认为你需要做一些计算:

  1. totalBarWidth = barWidths之和
  2. blankSpace = draw.Width - totalBarWidth
  3. numberOfBarsPerBlankSpacePixel =金额/空格
  4. 在条形图上方循环并在每个numberOfBarsPerBlankSpacePixel条形图的宽度上添加一个像素。
  5. 另外,不要忘记将像素添加到以下条形的x轴位置。