繁体   English   中英

尺寸调整后的图像质量下降

[英]Resized image degrades in quality

我使用Java2D Graphics类调整了图像的大小。 但这看起来并不正确。

    BufferedImage resizedImage = new BufferedImage(IMG_WIDTH, IMG_HEIGHT, type);
    Graphics2D g = resizedImage.createGraphics();
    g.drawImage(originalImage, 0, 0, IMG_WIDTH, IMG_HEIGHT, null);
    g.dispose();

是否可以在不引入伪影的情况下缩放图像?

一般来说,位图图形的缩放效果不好。 当您增加图像尺寸时,降级尤为明显,但即使缩小也可能会引入不良的假象,尤其是如果不通过积分因子进行缩放时。

如果需要显示单个图像的多种尺寸,最好的解决方案是使用vector *图形采用您拥有的最高保真度位图并按整数倍缩小。

*请注意,矢量图形不是照片等的选项。

克里斯·坎贝尔(Chris Campbell)的这篇文章提供了许多有关使用Java2D缩放图像的详细信息。

您可以使用许多有关缩放质量的选项,通常质量越好,缩放所需的时间就越长(性能与质量之间的权衡)。

文章中的信息可能会帮助您更好地缩放,但正如@Kevin在回答中所说的那样,最终,缩放不会是绝对完美的。

您可以查看java-image-scaling库。 通过快速测试,与使用标准Java2D / AWT工具相比,它可以创建质量更好的缩小图像。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM