Я пытаюсь сохранить изображение в формате png, но не могу получить изображение для создания, несмотря на это решение .
Я использую selenium webDriver, чтобы сделать скриншотокна браузера Chrome getScreenshotAs()
возвращает байтовый массив, который я поместил в объект ByteArrayInputStream
.У меня также есть прямоугольник view
, который содержит размеры, в которые я хочу обрезать изображение, используя getSubimage()
.
с кодом, представленным ниже, изображение не создается, когда я добавляю imgfile.createNewFile()
файлсоздается, но полностью пуст и не регистрируется как файл 'png'.
По сути, все, что я хочу сделать, - это взять изображение, которое у меня есть в памяти, в виде байтового массива, обрезать его до определенных размеров исохраните его как файл png.На самом деле, я знаю, но не могу понять.Любая помощь с благодарностью.
ByteArrayInputStream imgbytes = new ByteArrayInputStream(((TakesScreenshot) driver).getScreenshotAs(OutputType.BYTES));
BufferedImage bimg = ImageIO.read(imgbytes);
bimg = bimg.getSubimage(view.getX(), view.getY(), view.getWidth(), view.getWidth());
File imgfile = new File("C:\\Users\\User\\Documents\\newimg.png");
ImageIO.write(bimg, "png", imgfile);