|
|
|
@ -1,16 +1,11 @@
|
|
|
|
|
package com.example.jmacro.wjdr.util;
|
|
|
|
|
|
|
|
|
|
import cn.hutool.core.img.ImgUtil;
|
|
|
|
|
import cn.hutool.core.thread.ThreadUtil;
|
|
|
|
|
import com.example.jmacro.wjdr.JMainApplication;
|
|
|
|
|
import com.example.jmacro.wjdr.JMainService;
|
|
|
|
|
import com.example.jmacro.wjdr.base.ViewRect;
|
|
|
|
|
|
|
|
|
|
import javax.swing.*;
|
|
|
|
|
import java.awt.*;
|
|
|
|
|
import java.awt.event.KeyAdapter;
|
|
|
|
|
import java.awt.event.KeyEvent;
|
|
|
|
|
import java.awt.event.WindowAdapter;
|
|
|
|
|
import java.awt.event.WindowEvent;
|
|
|
|
|
import java.awt.image.BufferedImage;
|
|
|
|
|
import java.io.ByteArrayInputStream;
|
|
|
|
|
import java.io.ByteArrayOutputStream;
|
|
|
|
@ -115,32 +110,17 @@ public class ImageUtil {
|
|
|
|
|
return (double) similar / (smallWidth * smallHeight);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static void main(String[] args) {
|
|
|
|
|
try {
|
|
|
|
|
Robot robot = new Robot();
|
|
|
|
|
BufferedImage screenCapture = robot.createScreenCapture(new Rectangle(0, 0, 1920, 1080));
|
|
|
|
|
show(screenCapture);
|
|
|
|
|
} catch (AWTException e) {
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 展示屏幕指定区域图片
|
|
|
|
|
*
|
|
|
|
|
* @param rect
|
|
|
|
|
* @param rect 区域
|
|
|
|
|
*/
|
|
|
|
|
public static void show(ViewRect rect) {
|
|
|
|
|
try {
|
|
|
|
|
Robot robot = new Robot();
|
|
|
|
|
BufferedImage screenCapture = robot.createScreenCapture(new Rectangle(rect.getLeft(), rect.getTop(), rect.getWidth(), rect.getHeight()));
|
|
|
|
|
show(screenCapture);
|
|
|
|
|
} catch (AWTException e) {
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}
|
|
|
|
|
Robot robot = JMainService.getInstance().getMacro().getRobot();
|
|
|
|
|
BufferedImage screenCapture = robot.createScreenCapture(new Rectangle(rect.getLeft(), rect.getTop(), rect.getWidth(), rect.getHeight()));
|
|
|
|
|
show(screenCapture);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 终端程序并展示图片
|
|
|
|
|
*
|
|
|
|
@ -158,7 +138,7 @@ public class ImageUtil {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
|
|
|
|
|
ImgUtil.write(showImage,"PNG",outputStream);
|
|
|
|
|
ImgUtil.write(showImage, "PNG", outputStream);
|
|
|
|
|
javafx.scene.image.Image image1 = new javafx.scene.image.Image(new ByteArrayInputStream(outputStream.toByteArray()));
|
|
|
|
|
JMainApplication.mainController.getPreview().setImage(image1);
|
|
|
|
|
}
|
|
|
|
|