aya*_*587 2 java image-resizing imgscalr
我是ImgScalr API的新手.我需要将我的图像调整为不同的视图,其中一个是移动视图,第二个是缩略图视图.我已经使用了resize方法,但有一个疑问.哪个是最好的调整大小方法,从可用的多个选项调整图像大小,以保持适当的宽高比(如图像不会变得模糊)
我注意到的一件事是每个resize方法都接受一个targetSize参数.如何指定此字段可确保图像的宽高比不会受到影响.
考虑到我需要生成一个大小约为2 MB的输入图像的2 KB缩略图视图,resize方法的理想参数应该是什么?
由于缺乏足够的文档和示例,我有点困惑.
imgscalr作者在这里 - 绝对理解混乱,代码库本身(如果你碰巧看一眼GitHub)几乎是50%评论,如果你好奇图书馆是如何工作的,但从使用角度看你是对的 - 我没有把很多时候进入例子.
希望我能为您快速点击一些亮点......
Aspect Ratios
imgscalr的核心设计租户总是要尊重宽高比 - 所以如果传入200x1(一些荒谬的维度作为例子),它将尝试计算满足那些"目标"维度的最小尺寸.
如果你总是希望你的缩略图在200x200的某个方框中,这很方便 - 只需将其传入,imgscalr将确定最终的宽度/高度不会大于那个(可能是200x127或78x200)
质量
默认情况下,库通过考虑尺寸变化的增量以及放大/缩小并选择最接近的方法(速度VS质量)来执行所谓的"平衡"质量方法.
您可以强制它尽可能快地进行缩放(扩展操作的好主意)或强制它始终使用高质量或超高质量(如果您想要非常清晰的缩略图或其他大幅降低图像分辨率的操作,那么您就可以了希望他们看起来还不错
最重要的是,您还可以要求图书馆对图像应用一些额外的过滤(称为图像操作) - 如果您在很多区域出现锯齿状边缘,我会提供一些方便的默认设置,就像抗锯齿一样.您正在缩放的源素材(在使用diag直线缩放桌面和其他内容的屏幕截图时很常见)
总体
该库应该尽可能简单易用,不比以下更难:
BufferedImage thumbnail = Scalr.resize(src, 128);
会让你开始...所有其他围绕质量,装配,模式,操作等的操作只是你可以选择做的其他事情,如果你决定结果不是你想要的.
希望有所帮助!