Math 数学-根据可伸缩和固定对象调整容器高度
我试图根据窗口的大小来调整容器内容的布局,确定图像的缩小量,该图像位于具有其他固定高度文本字段的容器中 在这个问题中,我只关心身高,所以当我提到比例时,我指的是身高比例或Math 数学-根据可伸缩和固定对象调整容器高度,math,Math,我试图根据窗口的大小来调整容器内容的布局,确定图像的缩小量,该图像位于具有其他固定高度文本字段的容器中 在这个问题中,我只关心身高,所以当我提到比例时,我指的是身高比例或scaleY 在下图中: 蓝色=可调整大小的主窗口 绿色=主窗口中可调整大小的容器 红色=固定高度文本字段(不可缩放) 黑色=可缩放图像 内容(文本字段和图像)填充容器,因此绿色容器可以表示文本字段和图像的高度,或者至少表示第一个文本字段的y坐标和最后一个文本字段的y坐标和高度之间的差值 将窗口的大小调整为大于绿色容器
scaleY
在下图中:
image.scaleY = ...
只需获取可调整大小窗口的高度(绿色),然后减去固定高度组件和组件之间的间距之和。剩余空间是可用于销售图像的空间
当然,大多数UI工具包都包含一些工具来简化这一过程,比如支持固定和可伸缩单元格的表格或网格布局,或者dock布局。如果可以,您应该利用这类功能,因为它的性能/响应性更高。将窗口大小减小
dh
像素还必须将图像高度减小dh
像素,以保持所有其他绝对值
因此,比例因子是(给定image\u height
是当前图像高度,dh
是要减少的像素数)
哦,然后要确定比例,只需将可用高度除以原始高度即可。只需找出窗口上的比例变化,并将其应用于图像。因此,如果窗口从
100px->80px更改为new/original=80/100=0.8=scale;新图像高度=旧图像高度*比例
。
scale_y = (image_height - dh) / image_height