2010-05-28 4 views
1

자바 애플릿에서보고있는 스캔 된 이미지가 있습니다. 이미지가 jpeg 형식입니다. Internet Explorer에서 동일한 이미지를 볼 때 더 선명 해 보입니다. 내 응용 프로그램의 이미지 품질을 IE에서 보는 것처럼 선명하게하고 싶습니다. 자바에서 렌더링 된 이미지를 선명하게하는 방법에 대한 아이디어가 있습니까?Java 애플릿에서 이미지 선명하게하기

감사합니다,

엘리엇

답변

2

내가 심각 그래서 아마 무슨 일이 일어나고 있는지 당신은 아마 (품질을 저하하는 등의 방법으로 애플릿에서 이미지를 표시하는 것입니다, IE가 적극적으로 이미지를 선명하게 의심 스케일링). 몇 가지 코드를 게시 할 수 있습니까?

+0

닐 코 페이가 제안하는 간단한 스케일링 problme 것을 밝혀졌습니다. 올바른 방향으로 날 가리키는 주셔서 감사합니다. 엘리엇 – Elliott

0

이것이 스캔 된 이미지라고 생각하면, 필자는 텍스트가 포함 된 일종의 문서라고 생각합니다. IE는 기본적으로 bilinear sampling 알고리즘을 사용하여 이러한 이미지 종류에 대해 더 나은 결과를 얻을 수있는 이미지 크기를 조정합니다. 이미지를 렌더링 할 때 적절한 품질을 보장하기 위해 스케일링 알고리즘을 수정해야합니다.

다음은 스케일링 알고리즘을 Bilinear로 설정하는 간단한 예입니다. 올바른 결과를 줄 수도 있고 그렇지 않을 수도 있습니다. 올바른 결과가 나올 때까지 다른 알고리즘을 계속 사용하려고합니다. (RenderingHints을보고 VALUE_INTERPOLATION`로 시작하는 설정을 찾아 _... ")

개인 플로트 xScaleFactor, yScaleFactor = ...; 개인의 BufferedImage originalImage = ...;

public void paintComponent(Graphics g) { 
    Graphics2D g2 = (Graphics2D)g; 
    int newW = (int)(originalImage.getWidth() * xScaleFactor); 
    int newH = (int)(originalImage.getHeight() * yScaleFactor); 
    g2.setRenderingHint(RenderingHints.KEY_INTERPOLATION, 
         RenderingHints.VALUE_INTERPOLATION_BILINEAR); 
    g2.drawImage(originalImage, 0, 0, newW, newH, null); 
} 

또한이 체크 아웃 다양한 성능 문제 및 확인 모든 것을 만들어 사용에 대한 통찰력에 대한 article 잘 노력하고 있습니다.

관련 문제