Hi all! So now I making method which taking screen shot. This is what happens in that method:
if (takeScreenShot) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss");
Date date = new Date();
File folder = new File("screenshots/");
if(!folder.exists()) {
folder.mkdirs();
}
File screenshotFile = new File("screenshots/screenshot-" + format.format(date) + ".png");
Image screenshot= new Image(gc.getWidth(), gc.getHeight());
g.copyArea(screenshot, 0, 0);
ImageOut.write(screenshot, screenshotFile.toString(), false);
takeScreenShot = false;
}
But then it must take screenshot I getting this error:
java.lang.ArrayIndexOutOfBoundsException: 2097152
at org.newdawn.slick.Image.getColor(Image.java:1364)
at org.newdawn.slick.imageout.ImageIOWriter.saveImage(ImageIOWriter.java:45)
at org.newdawn.slick.imageout.ImageOut.write(ImageOut.java:62)
at org.newdawn.slick.imageout.ImageOut.write(ImageOut.java:97)
at game.states.MenuState.screenshotChecker(MenuState.java:189)
at game.states.MenuState.render(MenuState.java:161)
at org.newdawn.slick.state.StateBasedGame.render(StateBasedGame.java:199)
at org.newdawn.slick.GameContainer.updateAndRender(GameContainer.java:688)
at org.newdawn.slick.AppGameContainer.gameLoop(AppGameContainer.java:411)
at org.newdawn.slick.AppGameContainer.start(AppGameContainer.java:321)
at game.Main.launch(Main.java:67)
at game.Launcher.main(Launcher.java:40)
Why Image.getColor fails? ??? Can someone explain that or help me? Thanks in advance