为图像添加时间
Adding Time to an Image
我正在尝试使用以下代码截取屏幕截图
public void TakeScreenShot() {
String ScreenPrefix = "Screenshot-";
String Time = getTime();
try {
File ScreenName = new File(ScreenPrefix+Time+".png");
BufferedImage image = new Robot().createScreenCapture(new Rectangle(getGameScreen()));
ImageIO.write(image, "PNG", new File(System.getProperty("user.home") + "\Desktop\ScreenShots\"+ScreenName));
JOptionPane.showMessageDialog(null, ScreenName+".png has been saved to your desktop", "Console", JOptionPane.PLAIN_MESSAGE);
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
如果我使用 getTime();方法我得到以下错误:
java.io.FileNotFoundException: C:\Users\Evan\Desktop\ScreenShots\Screenshot-19:30:14 (The filename, directory name, or volume label syntax is incorrect)
但如果我改变
File ScreenName = new File(ScreenPrefix+Time);
到
File ScreenName = new File(ScreenPrefix);
它工作得很好,只是不包括截图的时间。
如果有人知道如何使代码创建文件"Screenshot-Hour:Minute:Seconds"
并愿意分享,将不胜感激
(如果你能告诉我为什么会出现这个错误,那也会很有帮助)
如果您需要,这是我的 getTime() 方法:
public static String GetTime() {
Calendar cal = Calendar.getInstance();
cal.getTime();
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
return sdf.format(cal.getTime());
}
我也有路径 "C:\Users\Evan\Desktop\Screenshots",所以我不知道为什么当我尝试包括时间时它告诉我我没有,因为没有它它也能正常工作
您需要编辑正在保存的文件的名称,使其不包含特殊字符。
该错误表明您尝试创建的文件无效。
我正在尝试使用以下代码截取屏幕截图
public void TakeScreenShot() {
String ScreenPrefix = "Screenshot-";
String Time = getTime();
try {
File ScreenName = new File(ScreenPrefix+Time+".png");
BufferedImage image = new Robot().createScreenCapture(new Rectangle(getGameScreen()));
ImageIO.write(image, "PNG", new File(System.getProperty("user.home") + "\Desktop\ScreenShots\"+ScreenName));
JOptionPane.showMessageDialog(null, ScreenName+".png has been saved to your desktop", "Console", JOptionPane.PLAIN_MESSAGE);
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
如果我使用 getTime();方法我得到以下错误:
java.io.FileNotFoundException: C:\Users\Evan\Desktop\ScreenShots\Screenshot-19:30:14 (The filename, directory name, or volume label syntax is incorrect)
但如果我改变
File ScreenName = new File(ScreenPrefix+Time);
到
File ScreenName = new File(ScreenPrefix);
它工作得很好,只是不包括截图的时间。
如果有人知道如何使代码创建文件"Screenshot-Hour:Minute:Seconds" 并愿意分享,将不胜感激
(如果你能告诉我为什么会出现这个错误,那也会很有帮助)
如果您需要,这是我的 getTime() 方法:
public static String GetTime() {
Calendar cal = Calendar.getInstance();
cal.getTime();
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
return sdf.format(cal.getTime());
}
我也有路径 "C:\Users\Evan\Desktop\Screenshots",所以我不知道为什么当我尝试包括时间时它告诉我我没有,因为没有它它也能正常工作
您需要编辑正在保存的文件的名称,使其不包含特殊字符。
该错误表明您尝试创建的文件无效。