0

基本上我想把这个:

在此处输入图像描述

进入这个:

在此处输入图像描述

试过了diff = actual_row_width - max_row_width / number_of_items;,然后从每个矩形中减去diff,但它似乎没有保持比例:(

4

2 回答 2

1

给定

  • W = 宽度
  • H = 高度

你要

  • NH = 新高度

基于此:

  • R = 比率 = NW / W

然后

  • NH = 新高度 = H * R = H * ( NW / W )
于 2013-08-31T00:47:19.120 回答
1

diff 是关于每个项目的宽度的加权和。您不能只从每个项目中减去相同的数量,而是应该根据每个项目的相对宽度进行划分。尝试,对于每个矩形:

diff = (actual_row_width - max_row_width) * actual_rect_width / actual_row_width

您还可以按百分比推理并使用以下公式计算每个新矩形的宽度:

new_rect_width = (actual_rect_width / actual_row_width) * max_row_width

(actual_rect_width / actual_row_width)每个矩形占据的行宽的百分比。

于 2013-08-31T00:50:00.033 回答