2012-08-15 91 views
2

我的要求是:“如何调整图像的大小,而不会丢失使用摆动的质量”。如何在不损失使用java质量的情况下调整图像大小?

我正在使用resizer组件,标签,面板。 我正在使用调整大小的概念在这个时候图像模糊,失去了质量。 所以你知道的任何一个“如何调整图像的大小而不会失去使用swing概念的质量?”。向我发送相关信息或代码。

谢谢你, GaneshKumar。

+1

你想减少或增加图像的大小?质量是什么意思?您可以在调整大小之前和之后发布图像示例吗? – Simon 2012-08-21 16:56:37

回答

2

你要求的是不可能的。缩放光栅图像new resolution > native resolution的定义是有损的。如果有任何机会我误解了这个问题,我提前道歉。

+0

我相信被问到的是,当缩小图像时,图像变得非常模糊,不仅质量下降......质量变得非常差 - 我也遇到过这个问题,但从来没有找到一个好的解决方案。 – 2012-08-21 17:20:16

+0

这不正确。如果缩放因子是整数,则放大图像的大小可能是无损的。缩小总是有损的。 – Simon 2012-08-22 16:43:35

+0

我认为,正如你所说,这取决于他的质量意味着什么。尽管按比例因子将图像放大为整数,但抗锯齿像素将覆盖更多区域,从而使其看起来不太平滑。 – 2012-08-29 11:09:42

5

Ganesh神,

你可以看看imgscalr,这是一个非常简单的(单级,一堆静态方法来使用),看起来像这样使用:

BufferedImage thumbnail = Scalr.resize(srcImage, 150); 

为了确保最高质量换算的结果,你可以通过额外的参数调整大小的方法,像这样:

BufferedImage thumbnail = resize(img, Method.ULTRA_QUALITY, 125, OP_ANTIALIAS); 

也有slew of simple image operations(LIK e裁剪,填充,旋转等),您也可以使用。还有一个异步类,它可以一次排队许多操作,并在可配置数量的线程中执行它们(例如,如果在服务器上进行图像处理)。

该库是用纯Java编写的,并且在Apache 2许可证下发布,如果您有兴趣,可以找到所有的源代码here

这里有some other SO questions与它有关,如果你对其他例子或用例感到好奇。

相关问题