数学 - 根据可扩展和固定对象调整容器高度

时间:2011-07-03 07:36:21

标签: math

我正在尝试确定缩小图像的数量,该图像位于具有其他固定高度文本字段的容器中,基于调整容器内容布局的窗口大小。

在这个问题中我只关心身高,所以当我提到比例时,我指的是身高比例或scaleY

在下图中:

  1. 蓝色=可调整大小的主窗口。
  2. 绿色=主窗口内可调整大小的容器。
  3. 红色=固定高度的文本字段(不可扩展)。
  4. 黑色=可缩放图片。

    enter image description here

  5. 内容(文本字段和图像)填充容器,因此绿色容器可以表示文本字段和图像的高度,或者至少是第一个文本字段的y坐标和最后一个文本字段的y坐标之间的差异。高度。

    调整大于绿色容器的窗口大小将对绿色容器没有影响,并且它将保持其当前大小。但是,调整窗口大小必须更改容器大小以适应。我只能访问图像高度。因此,将窗口调整得较小也会缩放图像高度。新的缩放图像高度将确定包含固定高度文本字段的容器高度。

    问题:在将窗口调整到较低的高度之后,我如何找出缩放图像的大小(在0.0和1.0之间),以便固定高度的文本字段保持彼此远离并且容器的大小调整为它的边界与窗口保持相同的距离(在此图中相差10px)。

    image.scaleY = ...
    

2 个答案:

答案 0 :(得分:1)

dh像素缩小窗口大小还必须将图像高度降低dh像素,以保持所有其他绝对值。

因此,缩放因子是(给定image_height是当前图像高度,dh是要减少的像素数)

scale_y = (image_height - dh) / image_height

答案 1 :(得分:0)

只需取可调整大小窗口的高度(绿色),然后减去固定高度组件的总和以及组件之间的间距。剩下的空间是可销售图像的可用空间。

当然,大多数UI工具包都包含一些使您可以轻松使用的工具,例如支持固定和可伸缩单元格的表格或网格布局,或者停靠布局。如果可以的话,你应该利用这种功能,因为它的性能更高/响应更快。