2012-07-15 3 views
2

BufferedImage에는 Image를 반환하는 getSubimage (x, y, width, height) 메서드가 있습니다. JPanel에서 그래픽을 그릴 때 JPanel을 사용하여 BufferedImage 메서드와 비슷한 작업을 수행하는 방법은 무엇입니까? 예를 들어JPanel의 이미지를 가져 오는 방법은 무엇입니까?

(이 정확 경우에만) :

BufferedImage bi = jPanel.getSubimage(x, y, width, height); 

당신은 버퍼링 된 이미지에 아마 어떤 스윙 구성 요소를 렌더링 할 수있는 당신에게

답변

0

감사드립니다.

하위 이미지가 필요하기 때문에 2 단계 과정을 거쳐야합니다. 1) JPanel을 BufferedImage로 렌더링합니다. 2) 하위 이미지를 가져옵니다.

BufferedImage bi = new BufferedImage(jPanel.getWidth(), jPanel.getHeight(), BufferedImage.TYPE_INT_RGB); 
Graphics2D g2 = (Graphics2D)bi.getGraphics(); 
panel.printAll(g); //I assume you wanted child elements too... otherwise just use paint(g) 
BufferedImage result= bi.getSubimage(...); 

참고 :이 기능은 모든 구성 요소가 초기화되고 배치 된 후 작동합니다.

+0

대단히 감사합니다. :) –

관련 문제