上一篇博文簡要說明了Robot類的截屏API。但是沒有現成的API來產生帶滑鼠的截屏。下面給個帶滑鼠截屏的執行個體。
原理就是截屏後擷取到滑鼠的位置,用java.awt.Graphics2D的.drawImage方法繪製滑鼠即可,代碼如下:
public class ScreenSnapshot { public static void main(String[] args) { try { Robot robot = new Robot(); Toolkit toolkit= Toolkit.getDefaultToolkit(); Rectangle screen_area= new Rectangle(toolkit.getScreenSize()); Point p= MouseInfo.getPointerInfo().getLocation(); BufferedImage screenshot= robot.createScreenCapture(screen_area); String imagepath = ScreenSnapshot.class.getResource("/").getPath().toString(); BufferedImage cursor= ImageIO.read(new File(imagepath+"cursor.gif"));//cursor.gif 是你的滑鼠圖片 screenshot.createGraphics().drawImage(cursor, p.x, p.y, null); ImageIO.write(screenshot, "jpg", new File("c:/cross/output.jpg")); ImageIO.write(screenshot, "png", new File("c:/cross/output.png")); } catch (HeadlessException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (AWTException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }}