1. 程式人生 > >Java 帶滑鼠截圖

Java 帶滑鼠截圖

上一篇博文簡要說明了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();
        }

    }
}