2013-08-31 3 views
0

В основном я хочу, чтобы превратить это:прямоугольников Re размера, чтобы соответствовать ряду, но сохранить пропорции

enter image description here

В это:

enter image description here

Пробовал diff = actual_row_width - max_row_width/number_of_items;, то вычитают diff от каждого прямоугольник, но он, похоже, не поддерживает соотношение: (

+0

Как вы получаете ширину этих элементов? –

+0

Имейте в виду, что этот элемент имеет ** поля **, вы берете его на учет? –

+4

Как использовать процентную ширину? – davidtheclark

ответ

1

дифференциала является взвешенной суммой в отношении ширины каждого из предметов. Вы не можете просто вычесть одну и ту же сумму из каждого предмета, но вы должны разделить ее в соответствии с относительной шириной каждого. Попробуйте, для каждого прямоугольника:

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) быть процент от ширины строки каждого прямоугольника занимает.

1
  • W = ширина
  • H = высота

Вы хотите

  • NH = Новая высота

Исходя из этого:

  • R = Отношение = NW/W

Затем

  • NH = Новая высота = Н * R = Н * (СЗ/З)
+0

Вы имели в виду 'New Rectangle Width' вместо' New Height'? – edsioufi

+1

Абсолютно! Thx для указания! – SteAp

Смежные вопросы