在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中文網其他相關文章!