上传备份

wjdr
王兵 1 year ago
parent 24965b9c63
commit f9c939c257

@ -1,16 +1,20 @@
package com.example.jmacro.wjdr; package com.example.jmacro.wjdr;
import cn.hutool.core.thread.ThreadUtil;
import com.example.jmacro.wjdr.base.Legend; import com.example.jmacro.wjdr.base.Legend;
import com.example.jmacro.wjdr.base.ViewRect; import com.example.jmacro.wjdr.base.ViewRect;
import com.example.jmacro.wjdr.tool.PickLegend; import com.example.jmacro.wjdr.tool.PickLegend;
import com.example.jmacro.wjdr.tool.PickPoint; import com.example.jmacro.wjdr.tool.PickPoint;
import com.example.jmacro.wjdr.tool.PickRect; import com.example.jmacro.wjdr.tool.PickRect;
import com.example.jmacro.wjdr.util.DialogUtil; import com.example.jmacro.wjdr.util.DialogUtil;
import com.example.jmacro.wjdr.util.TaskUtil;
import javafx.fxml.FXML; import javafx.fxml.FXML;
import javafx.scene.control.Button; import javafx.scene.control.Button;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView; import javafx.scene.image.ImageView;
import java.awt.*; import java.awt.*;
import java.util.concurrent.Semaphore;
/** /**
* UI * UI
@ -30,6 +34,8 @@ public class JMainController {
@FXML @FXML
private ImageView preview; private ImageView preview;
private Semaphore semaphore = new Semaphore(1);
/** /**
* *
*/ */
@ -99,9 +105,25 @@ public class JMainController {
boolean stop = JMainService.stop(); boolean stop = JMainService.stop();
this.start.setDisable(!stop); this.start.setDisable(!stop);
this.stop.setDisable(stop); this.stop.setDisable(stop);
this.preview.setImage(null);
} }
public ImageView getPreview() { /**
return preview; *
* @param image
*/
public void preview(Image image) {
try {
if (!JMainService.getInstance().run){
return;
}
semaphore.acquire();
preview.setImage(image);
Thread.sleep(500);
semaphore.release();
} catch (InterruptedException e) {
semaphore.release();
throw new RuntimeException(e);
}
} }
} }

@ -115,7 +115,7 @@ public class ImageUtil {
* *
* @param rect * @param rect
*/ */
public synchronized static void show(ViewRect rect) { public static void show(ViewRect rect) {
Robot robot = JMainService.getInstance().getMacro().getRobot(); Robot robot = JMainService.getInstance().getMacro().getRobot();
BufferedImage screenCapture = robot.createScreenCapture(new Rectangle(rect.getLeft(), rect.getTop(), rect.getWidth(), rect.getHeight())); BufferedImage screenCapture = robot.createScreenCapture(new Rectangle(rect.getLeft(), rect.getTop(), rect.getWidth(), rect.getHeight()));
show(screenCapture); show(screenCapture);
@ -126,7 +126,7 @@ public class ImageUtil {
* *
* @param image * @param image
*/ */
public synchronized static void show(BufferedImage image) { public static void show(BufferedImage image) {
int viewSize = 100; int viewSize = 100;
Image showImage = image; Image showImage = image;
// 图片太大时进行缩放显示 // 图片太大时进行缩放显示
@ -140,6 +140,6 @@ public class ImageUtil {
ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); 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())); javafx.scene.image.Image image1 = new javafx.scene.image.Image(new ByteArrayInputStream(outputStream.toByteArray()));
JMainApplication.mainController.getPreview().setImage(image1); JMainApplication.mainController.preview(image1);
} }
} }

Loading…
Cancel
Save

Powered by TurnKey Linux.