在 Java 中调整大小后图像质量较低
将图像从大尺寸(例如 300x300)调整为显着尺寸时会出现此问题一步缩小尺寸(例如 60x60)。这不可避免地会导致质量下降。
调整大小的分而治之方法
为了缓解此问题,建议使用分而治之方法。
示例实现
这是一段 Java 代码实现分而治之的代码片段方法:
public class ImageResizer { public BufferedImage resize(BufferedImage original, Dimension finalSize) { // Get intermediate size. Dimension intermediateSize = new Dimension(original.getWidth() / 2, original.getHeight() / 2); // Resize to intermediate size. BufferedImage intermediateImage = resize(original, intermediateSize); // Resize to final size. BufferedImage resizedImage = resize(intermediateImage, finalSize); // Return the resized image. return resizedImage; } private BufferedImage resize(BufferedImage image, Dimension size) { BufferedImage scaledImage = new BufferedImage(size.width, size.height, image.getType()); Graphics2D graphics = scaledImage.createGraphics(); // Set rendering hints for better quality. graphics.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR); graphics.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY); graphics.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); // Draw the original image scaled to the new size. graphics.drawImage(image, 0, 0, size.width, size.height, null); // Dispose of the graphics object. graphics.dispose(); // Return the scaled image. return scaledImage; } }
通过使用此方法,可以在调整大小后显着提高图像质量。
以上是为什么我的 Java 图像调整大小会导致质量低下,如何改进?的详细内容。更多信息请关注PHP中文网其他相关文章!