上传备份

wjdr
王兵 1 year ago
parent 24965b9c63
commit f9c939c257

@ -1,16 +1,20 @@
package com.example.jmacro.wjdr;
import cn.hutool.core.thread.ThreadUtil;
import com.example.jmacro.wjdr.base.Legend;
import com.example.jmacro.wjdr.base.ViewRect;
import com.example.jmacro.wjdr.tool.PickLegend;
import com.example.jmacro.wjdr.tool.PickPoint;
import com.example.jmacro.wjdr.tool.PickRect;
import com.example.jmacro.wjdr.util.DialogUtil;
import com.example.jmacro.wjdr.util.TaskUtil;
import javafx.fxml.FXML;
import javafx.scene.control.Button;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import java.awt.*;
import java.util.concurrent.Semaphore;
/**
* UI
@ -30,6 +34,8 @@ public class JMainController {
@FXML
private ImageView preview;
private Semaphore semaphore = new Semaphore(1);
/**
*
*/
@ -99,9 +105,25 @@ public class JMainController {
boolean stop = JMainService.stop();
this.start.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
*/
public synchronized static void show(ViewRect rect) {
public static void show(ViewRect rect) {
Robot robot = JMainService.getInstance().getMacro().getRobot();
BufferedImage screenCapture = robot.createScreenCapture(new Rectangle(rect.getLeft(), rect.getTop(), rect.getWidth(), rect.getHeight()));
show(screenCapture);
@ -126,7 +126,7 @@ public class ImageUtil {
*
* @param image
*/
public synchronized static void show(BufferedImage image) {
public static void show(BufferedImage image) {
int viewSize = 100;
Image showImage = image;
// 图片太大时进行缩放显示
@ -140,6 +140,6 @@ public class ImageUtil {
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
ImgUtil.write(showImage, "PNG", outputStream);
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.