我有以下java方法,它成功地创建了png文件:
TakesScreenshot scrShot = ((TakesScreenshot) webdriver);
File SrcFile = scrShot.getScreenshotAs(OutputType.FILE);
File DestFile = new File(fileWithPath + featureFileName + ".png");
// BufferedImage img = ImageIO.read(SrcFile);
// ImageIO.write(img, "jpg", new File(fileWithPath + featureFileName + ".jpg"));
FileUtils.copyFile(SrcFile, DestFile);我试图使用2个注释行将图像转换为jpg格式,但jpg输出文件没有生成。没有错误。没有文件。我不知道为什么。提前感谢您的帮助。
发布于 2021-11-02 09:59:34
您使用的OpenJDK可能存在许多JPG编码问题,特别是当您从png转换时。
因此,您解决方法是将图像BufferedImage转换为另一个BufferedImage,然后将其保存为:
try {
TakesScreenshot scrShot = ((TakesScreenshot) driver);
File SrcFile = scrShot.getScreenshotAs(OutputType.FILE);
BufferedImage pngImage = ImageIO.read(SrcFile);
int height = pngImage.getHeight();
int width = pngImage.getWidth();
BufferedImage jpgImage = new BufferedImage(width, height, BufferedImage.TYPE_3BYTE_BGR);
jpgImage.createGraphics().drawImage(pngImage, new AffineTransform(1f,0f,0f,1f,0,0), null);
ImageIO.write(jpgImage, "jpg", new File("/your_path/output.jpg"));
} catch (IOException e) {
e.printStackTrace();
}https://stackoverflow.com/questions/69801639
复制相似问题