小编Mor*_*lka的帖子

尝试将图像扩展为完整尺寸时出现不需要的黑色边框

在JavaFx中截取我的场景的屏幕截图时,我将BufferedImage作为PNG/JPG保存到文件中.当我尝试将图像大小最大化到其全长时,我会在图像左侧到底部的图片上出现黑色边框,而图像根本不会增大.图像的大小只会增加,直到我将尺寸设置为1300x700,如下所示.

 BufferedImage image = new BufferedImage(1300, 700, BufferedImage.TYPE_INT_RGB); 
Run Code Online (Sandbox Code Playgroud)

但是,一旦我将尺寸增加到大于1300x700,就会出现黑色边框.

以下图片设置为

  BufferedImage image = new BufferedImage(1500, 900, BufferedImage.TYPE_INT_RGB); 
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

正如您所看到的,图像的一部分仍然被截断,图像旁边现在有一个大的黑色边框,而不是实际的全尺寸图像.

以下图片设置为

  BufferedImage image = new BufferedImage(1300, 700, BufferedImage.TYPE_INT_RGB); 
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

正如您所看到的,图像仍然在与之前相同的位置切断,但是没有黑色边框.

如何将当前场景的整个快照合并到一个没有这些边框的文件中,并且没有任何内容被截断?

这是我的代码:

    File fa = new File("test.jpg");
    snapshot = quotes.getScene().snapshot(null);

    RenderedImage renderedImage = SwingFXUtils.fromFXImage(snapshot, null);
    BufferedImage image = new BufferedImage(1300, 700, BufferedImage.TYPE_INT_RGB); 
    image.setData(renderedImage.getData());
    ImageIO.write(image, "jpg", fa);
Run Code Online (Sandbox Code Playgroud)

bufferedimage snapshot javafx-2

5
推荐指数
1
解决办法
218
查看次数

标签 统计

bufferedimage ×1

javafx-2 ×1

snapshot ×1