- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我连完整的部分都没看懂。任何人都可以向我描述他们想要什么以及如何实现。
你能指导我吗。
最佳答案
如果必须保持纵横比,那就意味着您需要将高度和宽度缩放完全相同的量。这是一个相当容易满足的要求 - 您只需计算所需的比例并将其应用于两个维度。
为了确保图像只按比例缩小,您只检查是否超过上限,并在这些情况下进行缩放。例如,如果高度和宽度都小于 1001,并且像素数小于 500,000,那么您根本不需要缩放。
检查其他要求的上限如下:
首先,如果高度大于 1000,只需按 1000/height
缩放高度和宽度。这会将高度降低到 1,000,并相应地调整宽度。
接下来,如果宽度大于 1000,则只需将高度和宽度(由于高度可能已经缩放过)缩放 1000/width
。这将宽度降低到 1,000,并且通过将高度缩小相同的量来再次保持纵横比。
最后,您需要检查像素数,其计算方式为 height * width
。如果高度和宽度都为 1,000 或更小,您的像素数可能仍高达一百万。
如果超过 500,000,您将缩放高度和宽度,使像素数低于该值。因为它是一个二维值,所以您可以按 500,000/(高度 * 宽度)
的平方根 进行缩放。
因此,就伪代码而言,您看到的是:
if h > 1,000:
scale = 1,000 / h
h = h * scale # will be 1,000
w = w * scale
if w > 1,000:
scale = 1,000 / w
h = h * scale
w = w * scale # will be 1,000
if h * w > 500,000:
scale = sqrt (500,000 / (h * w))
h = h * scale
w = w * scale
使用一些示例值(800 x 700,给出 560,000 像素)检查代码的第三部分会产生以下结果:
800 * sqrt (500K/560K) -> 755
700 * sqrt (500K/560K) -> 611
755 * 611 -> 499,055 pixels, so scaled down okay.
Ratio of 755/611 is same (roughly) as 800/700.
关于c# - 确定缩放图像的适当尺寸的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25561058/
这段代码在 Java 中的等价物是什么?我放了一部分,我对 I/O 部分感兴趣: int fd = open(FILE_NAME, O_WRONLY); int ret = 0; if (fd =
我正在尝试将维度为 d1,d2,d3 的张量 M[a1,a2,a3] reshape 为维度为 d2, d1*d3 的矩阵 M[a2,a1*a3]。我试过 M.reshape(d2,d1*d3) 但是
我是一名优秀的程序员,十分优秀!