티스토리 뷰
화면 스크린샷을 생성할 수 있는 Java 코드를 소개해 드립니다.
AWT 를 통해 현재 화면을 스크릿샷 할 수 있는 방법이라고 합니다.
package com.negafix.screenshot; import java.awt.Dimension; import java.awt.Rectangle; import java.awt.Robot; import java.awt.Toolkit; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; public class ScreenShotApp { public static void main(String[] args) { try { Toolkit toolkit = Toolkit.getDefaultToolkit(); Dimension screenSize = toolkit.getScreenSize(); Rectangle rectangle = new Rectangle(0, 0, screenSize.width, screenSize.height); Robot robot = new Robot(); BufferedImage bi = robot.createScreenCapture(rectangle); ImageIO.write(bi, "jpg", new File("d:/download/screenshot.jpg")); } catch(IOException ioe) { ioe.printStackTrace(); } catch(Exception e) { e.printStackTrace(); } } }
위 코드를 실행하면 현재 보이는 화면 그대로 썸네일과 같은 이미지가 생성됩니다.
웹 관리툴 같은 곳에서 사용하면 유용 할 것 같습니다.
하지만, 보완해야 할 사항도 존재합니다.
저의 경우 모니터 2대를 연결하여 듀얼 모니터로 사용하고 있는데 두 화면을 합친 형태의 스크린샷이 생성됩니다.
즉, 사용자가 2대 이상의 모니터를 사용하는경우 각 모니터에 출력되는 화면 모두를 캡쳐하여 이미지를 만드는 것입니다.
각 모니터 독립적으로 스크린샷을 찍을 수 있다면 좋겠지만 위 코드로는 부족한 것이 사실입니다.
이 부분은 추후 좀더 자료를 찾아서 보강해야 할 것 같습니다.
'프로그래밍 > Java' 카테고리의 다른 글
java.io.FilenameFilter 의 기본 활용법 (0) | 2010.02.02 |
---|---|
Java로 UTF-8 파일 쓰기 (0) | 2010.02.02 |
NIO Package를 활용한 파일 복사 기능 구현 (0) | 2009.12.10 |
Apache Commons Project - XMLConfiguration TIP#1 (1) | 2009.12.09 |
Apache Commons Project - Configuration (2) | 2009.12.09 |
공지사항