mirror of
https://github.com/2006-Scape/Parabot.git
synced 2026-07-05 16:49:41 +00:00
Merge pull request #74 from Eric-Turner/Screenshot
[MERGE] Eric-Turner/Screenshot into Parabot/Master
This commit is contained in:
@@ -40,6 +40,7 @@ public class Directories {
|
|||||||
cached.put("Settings", new File(cached.get("Root"), "/Parabot/settings/"));
|
cached.put("Settings", new File(cached.get("Root"), "/Parabot/settings/"));
|
||||||
cached.put("Servers", new File(cached.get("Root"), "/Parabot/servers/"));
|
cached.put("Servers", new File(cached.get("Root"), "/Parabot/servers/"));
|
||||||
cached.put("Cache", new File(cached.get("Root"), "/Parabot/cache/"));
|
cached.put("Cache", new File(cached.get("Root"), "/Parabot/cache/"));
|
||||||
|
cached.put("Screenshots", new File(cached.get("Root"), "/Parabot/screenshots/"));
|
||||||
Core.verbose("Directories cached.");
|
Core.verbose("Directories cached.");
|
||||||
|
|
||||||
clearCache(259200);
|
clearCache(259200);
|
||||||
@@ -192,6 +193,16 @@ public class Directories {
|
|||||||
return cached.get("Home");
|
return cached.get("Home");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the screenshot folder.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static File getScreenshotDir() {
|
||||||
|
return cached.get("Screenshots");
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Validates all directories and makes them if necessary
|
* Validates all directories and makes them if necessary
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -7,13 +7,17 @@ import org.parabot.core.ui.components.VerboseLoader;
|
|||||||
import org.parabot.core.ui.images.Images;
|
import org.parabot.core.ui.images.Images;
|
||||||
import org.parabot.core.ui.utils.SwingUtil;
|
import org.parabot.core.ui.utils.SwingUtil;
|
||||||
import org.parabot.environment.OperatingSystem;
|
import org.parabot.environment.OperatingSystem;
|
||||||
|
import org.parabot.environment.api.utils.StringUtils;
|
||||||
import org.parabot.environment.scripts.Script;
|
import org.parabot.environment.scripts.Script;
|
||||||
import org.parabot.environment.scripts.randoms.Random;
|
import org.parabot.environment.scripts.randoms.Random;
|
||||||
|
|
||||||
|
import javax.imageio.ImageIO;
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
import java.awt.event.*;
|
import java.awt.event.*;
|
||||||
|
import java.awt.image.BufferedImage;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -67,7 +71,6 @@ public class BotUI extends JFrame implements ActionListener, ComponentListener,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private void createMenu() {
|
private void createMenu() {
|
||||||
JMenuBar menuBar = new JMenuBar();
|
JMenuBar menuBar = new JMenuBar();
|
||||||
|
|
||||||
@@ -143,7 +146,33 @@ public class BotUI extends JFrame implements ActionListener, ComponentListener,
|
|||||||
|
|
||||||
switch (command) {
|
switch (command) {
|
||||||
case "Create screenshot":
|
case "Create screenshot":
|
||||||
JOptionPane.showMessageDialog(this, "We are still working on this...");
|
try {
|
||||||
|
Robot robot = new Robot();
|
||||||
|
Rectangle parabotScreen = new Rectangle((int) getLocation().getX(), (int) getLocation().getY(), getWidth(), getHeight());
|
||||||
|
BufferedImage image = robot.createScreenCapture(parabotScreen);
|
||||||
|
String randString = StringUtils.randomString(10);
|
||||||
|
boolean search = true;
|
||||||
|
boolean duplicate = false;
|
||||||
|
while (search == true) {
|
||||||
|
for (File f : Directories.getScreenshotDir().listFiles()) {
|
||||||
|
if (f.getAbsoluteFile().getName().contains(randString)) {
|
||||||
|
duplicate = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!duplicate) {
|
||||||
|
search = false;
|
||||||
|
} else {
|
||||||
|
randString = StringUtils.randomString(10);
|
||||||
|
duplicate = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
File file = new File(Directories.getScreenshotDir().getPath() + "/" + randString + ".png");
|
||||||
|
ImageIO.write(image, "png", file);
|
||||||
|
|
||||||
|
} catch (IOException | AWTException k) {
|
||||||
|
k.printStackTrace();
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case "Exit":
|
case "Exit":
|
||||||
System.exit(0);
|
System.exit(0);
|
||||||
|
|||||||
Reference in New Issue
Block a user