2009-04-21 5 views
2

나는 javax.imageio 패키지 대신 이미지에 대한 간단한 회전, 자르기 및 크기 조정 작업을 수행 할 수있는 좋은 대안을 찾고 있습니다. 예를 들어, I는 우측으로 각도를 도 회전 높이 폭 X 화소 축소 된 이미지를 얻기 위해거기에 javax.imageio 좋은 대안이 있습니까?

int angle, height, width; 
image.rotateRight(angle).scale(height, width); 

을하고 싶다. Graphics2D를하고 BufferedImage의 사용

, 내가 쓰고 읽을 수 없으며, 쉽게도되는,이 작업을 수행해야합니다 :

BufferedImage result = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); 
Graphics2D graphics = result.createGraphics(); 
graphics.translate(height/2, width/2); 
graphics.rotate(angle); 
graphics.translate(-width/2, -height/2); 
graphics.drawImage(image, 0, 0, width, height, null); 

는 (사실,이 코드도 정사각형이 아닌 이미지를 고려하지 않는 나는 번역과 함께 더욱더 마술을해야 할 것입니다.)

답변

5

RotatorDescriptor과 같은 유용한 정보가 포함 된 Java Advanced Imaging API이 있습니다.

는하지만 난 당신의 위의 예는 꽤 읽을 찾을 고백, 그래서 당신이 원하는대로 내가 브라이언 동의 :-)

+0

감사합니다. – Jorn

3

에 더 많은 것을 얻을 것이다 모르겠어요 : 재이 당신을 위해 아주 좋은 옵션입니다. 필요에 따라 읽을 수있는 코드를 가져와 JAI API 대신 사용할 수 있도록 일부 위임자 객체를 작성해야 할 수도 있습니다.

처리 (http://processing.org)를 사용할 수도 있습니다. API는 JAI API보다 간단합니다. Processing을 사용하면 기본적으로 크기 조정 및 회전 작업의 품질이 향상됩니다.

관련 문제