JavaFxで自分のシーンのスクリーンショットを撮るときに、BufferedImageをPNG/JPGとしてファイルに保存します。画像の大きさを最大限にしようとすると、画像の左から黒の境界線が画像のサイズを大きくしなくなります。 画像のサイズは、以下に示すように1300x700に設定するまで増加します。イメージをフルサイズに展開しようとすると、黒い枠が表示されない
BufferedImage image = new BufferedImage(1300, 700, BufferedImage.TYPE_INT_RGB);
ただし、1300x700を超えるサイズを増やすと、黒い境界線が表示されます。
は、以下の画像はご覧のように、画像の一部がまだ遮断され、大きな黒い境界線がではなく、画像の隣に今そこにある
BufferedImage image = new BufferedImage(1500, 900, BufferedImage.TYPE_INT_RGB);
に設定されています実際のフルサイズの画像。
あなたが見ることができるように、以下の画像は
BufferedImage image = new BufferedImage(1300, 700, BufferedImage.TYPE_INT_RGB);
に設定され、画像は以前と同じように同じ場所で切断されているが、側面に沿って黒いボーダーはそれではありません。
現在のシーンのスナップショット全体を1つのファイルに収めるにはどうすればいいですか?
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);
、スナップショット方式のパラメータとして、このような何かWritableImageを設定してみてください。 'quotes.getScene()スナップショット(スナップショット);' – Eeliya