我正在尝试捕获当前场景的屏幕截图并将其保存为 png/jpg 和 pdf。保存屏幕截图时,这两个选项都成功,但是图像显示不正确。如图所示,屏幕截图非常糟糕,我似乎无法让它工作。由于某种原因保存时,图像也很可爱。
public void sceneCapture() throws IOException, InterruptedException, Exception
{
File fa = new File("test.jpg");
snapshot = quotes.getScene().snapshot(null);
RenderedImage renderedImage = SwingFXUtils.fromFXImage(snapshot, null);
BufferedImage image = new BufferedImage(600, 750, BufferedImage.TYPE_INT_RGB);
image.setData(renderedImage.getData());
ImageIO.write(image, "jpg", fa);
int[] RGB_MASKS = {0xFF0000, 0xFF00, 0xFF};
ColorModel RGB_OPAQUE = new DirectColorModel(32, RGB_MASKS[0], RGB_MASKS[1], RGB_MASKS[2]);
java.awt.Image img = Toolkit.getDefaultToolkit().createImage("test.jpg");
PixelGrabber pg = new PixelGrabber(img, 0, 0, -1, -1, true);
pg.grabPixels();
int width = pg.getWidth(), height = pg.getHeight();
DataBuffer buffer = new DataBufferInt((int[]) pg.getPixels(), pg.getWidth() * pg.getHeight());
WritableRaster raster = Raster.createPackedRaster(buffer, width, height, width, RGB_MASKS, null);
BufferedImage bi = new BufferedImage(RGB_OPAQUE, raster, false, null);
String to = "test.jpg";
ImageIO.write(bi, "jpg", new File(to));
}
真的需要帮助解决这个问题。谢谢
当前状态:
期望状态: