imgscalr 作者在这里 - 绝对理解混乱,如果你好奇这个库是如何工作的,代码库本身(如果你碰巧浏览GitHub的话)几乎有 50% 的评论,但从使用的角度来看你是对的 - 我没有放很多时间变成例子。
希望我能快速为你打出一些亮点......
纵横比
imgscalr 的核心设计租户是始终尊重纵横比 - 因此,如果您传入 200x1(例如一些荒谬的尺寸),它将尝试计算满足这些“目标”尺寸的最小尺寸。
如果您总是希望将缩略图放在某个框中,例如 200x200,这很方便——只需将其传入,imgscalr 将确定不会大于该值的最终宽度/高度(可能类似于 200x127 或 78x200)
质量
默认情况下,库通过考虑尺寸变化的增量以及按比例放大/缩小并选择最接近的方法(速度与质量)来执行所谓的“平衡”质量方法。
您可以强制它始终尽可能快地缩放(扩大操作的好主意),或者可以强制它始终使用高质量或超质量(如果您想要非常清晰的缩略图或其他大幅降低图像分辨率的操作,那么您的想法很好)希望他们仍然看起来不错)
最重要的是,您还可以要求库对图像应用一些额外的过滤(称为图像操作)——如果您在很多图像上出现锯齿状边缘,我会提供一些方便的默认设置,例如抗锯齿。您正在缩放的源材料(在使用 diag 直线缩放桌面和其他东西的屏幕截图时很常见)
全面的
该库旨在尽可能简单地使用,并不比以下更难:
BufferedImage thumbnail = Scalr.resize(src, 128);
将帮助您开始...如果您认为结果不是您想要的,那么围绕质量、拟合、模式、操作等的所有其他操作只是您可以选择做的额外事情。
希望有帮助!