4
我正在嘗試編寫一個簡單的「Paint」式JavaFX應用程序。 我吸取了一個JavaFX.scene.canvas,這工作得很好。用透明像素保存javafx.scene.canvas
現在我想將此畫布另存爲「.png」圖片。作品,但與白色交換的透明像素。
如何將透明像素保存爲透明像素?
這是我如何保存畫布:
private void saveFile(){
FileChooser fc = new FileChooser();
fc.setInitialDirectory(new File("res/maps"));
fc.getExtensionFilters().add(new FileChooser.ExtensionFilter("PNG","*.png"));
fc.setTitle("Save Map");
File file = fc.showSaveDialog(primaryStage);
if(file != null){
WritableImage wi = new WritableImage((int)WIDTH,(int)HEIGHT);
try { ImageIO.write(SwingFXUtils.fromFXImage(canvas.snapshot(null,wi),null),"png",file);
} catch (IOException e) {
e.printStackTrace();
}
}
}