Java에서 크기 조정 후 이미지 품질을 향상시키는 방법
이미지 크기를 크게 축소하면 눈에 띄게 품질이 저하되는 경우가 많습니다. 그러나 분할 정복 접근 방식을 채택하면 크기가 조정된 이미지의 세부 수준을 더 높게 유지하여 이 문제를 완화할 수 있습니다.
분할 정복 방법:
이미지를 최종 크기로 직접 확장하는 대신 프로세스를 더 작은 단계로 나누십시오. 예를 들어, 650x748 이미지의 크기를 60x60에 맞게 조정하려면 먼저 이미지를 325x374(원래 크기의 50%)로 축소하세요. 그런 다음 다시 162x187(이전 크기의 50%)로 크기를 줄입니다. 마지막으로 대상 크기인 60x60으로 크기를 조정하면 한 단계로 크기 조정을 수행한 경우보다 훨씬 더 높은 품질의 이미지를 얻을 수 있습니다.
예제 코드:
public static BufferedImage getScaledInstanceToFit(BufferedImage img, Dimension size) { float scaleFactor = getScaleFactorToFit(img, size); return getScaledInstance(img, scaleFactor); } public static float getScaleFactorToFit(BufferedImage img, Dimension size) { float scale = 1f; if (img != null) { int imageWidth = img.getWidth(); int imageHeight = img.getHeight(); scale = getScaleFactorToFit(new Dimension(imageWidth, imageHeight), size); } return scale; } public static float getScaleFactorToFit(Dimension original, Dimension toFit) { float scale = 1f; if (original != null && toFit != null) { float dScaleWidth = getScaleFactor(original.width, toFit.width); float dScaleHeight = getScaleFactor(original.height, toFit.height); scale = Math.min(dScaleHeight, dScaleWidth); } return scale; }
추가 팁:
위 내용은 Java에서 축소한 후 높은 이미지 품질을 유지하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!