0

正如标题所解释的那样。

我需要确定可以在 div 中放置的图像集合中的图像数量,例如 100px x 100px 以及每个图像的宽度和高度。

我一直在尝试为此找出算法,但我的大脑被炸了。

到目前为止,我所拥有的(JavaScript)是获取宽度 + 高度(减去填充)/我拥有的图像数量,所以假设我有 13 个图像要放置在 100x100 中,例如,我最多可以放置 4 个,但是如何确定每个图像的高度(宽度为 100 像素)以使其按比例适合?

更新

好的,我有 20 多张图像要显示在 100x100 块中,而不会切断左侧或右侧的图像。那么,我如何通过代码确定我只能显示 4 张图像,每张 25px x 25px。如何确定 4 个图像的适当宽度*高度以最佳地适合 100*100 。

4

1 回答 1

0

简短的回答是 WidthOfYourDisplayArea \ NumberOfImagesYouWantToFitInThatArea。其中“\”表示整数除法,但还有更多。

在它的基础上,这将是一个平铺问题,即用 20 个不同大小的缩略图填充一个 100x100 的矩形(请参见下文)。但是,由于您正在修复缩略图的尺寸,因此它最终成为一个更容易处理的问题。

由于图像具有纵横比,因此您必须只使用一个维度并让另一个维度“自行解决”。

无论如何,您的缩略图仍然必须为 25x25,但必须调整其中的图像大小才能使内容看起来不失真。所以你可以做的是将你的imgs包装在div中。div 将是 25x25,但 imgs 尺寸会有所不同。

如果您尝试制作缩略图的原始图像是 1024x768(例如),那么它的纵横比是 Width / Height = 1024/768 = 1.33333 。您将试图通过固定其宽度来找出图像的高度。因此,您正在查看类似 25 *(高度/宽度)(注意反转)的结果,结果类似于 25 *(1/1.33333)= 18.75004。所以,这个缩略图看起来有点像一个穿过 25x25 正方形的“带”,在顶部和底部有大约 3 个像素的空间。

我希望这有帮助。

于 2012-05-21T14:01:21.970 回答