【发布时间】:2020-03-31 09:04:21
【问题描述】:
我们生成了一个 JPG 文件,使用
org.openqa.selenium.TakesScreenshot类
File src = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);
File dest = new File("C:\\Users\\admin\\Desktop\\Images\\29_18-03-20-07-11-47.jpg");
FileHandler.copy(src, dest);
由于生成的图像的文件大小为 1.5MB 到 2.9MB。我们希望将文件大小减小到 kbs。
我们尝试了 ImageIO,但生成的图像没有原始文件颜色空间/颜色配置文件。
File input = new File("C:\\Users\\admin\\Desktop\\Images\\29_18-03-20-07-11-47.jpg");
File compressedImageFile = new File("C:\\Users\\admin\\Desktop\\Images\\compressed_image7.jpg");
BufferedImage image = ImageIO.read(input);
OutputStream os = new FileOutputStream(compressedImageFile);
Iterator<ImageWriter writers = ImageIO.getImageWritersByFormatName("jpg");
ImageWriter writer = (ImageWriter) writers.next();
ImageOutputStream ios = ImageIO.createImageOutputStream(os);
writer.setOutput(ios);
ImageWriteParam param = writer.getDefaultWriteParam();
param.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);
param.setCompressionQuality(0.05f);
writer.write(null, new IIOImage(image, null, null), param);
无法分享图片或屏幕截图
有人可以告诉我如何减少文件大小
【问题讨论】:
-
我也试过了,但没有任何帮助
-
图片的大小(以像素为单位)是多少?
-
图片大小为2048X1536
标签: java selenium screenshot filesize javax.imageio