Como salvar um instantâneo de alto DPI de um JavaFX Canvas
Eu criei uma imagem em uma tela que é reduzida para exibição usando uma transformação. Também está em um ScrollPane, o que significa que apenas uma parte da imagem é visível.
Preciso tirar uma foto instantânea de toda a tela e salvá-la como uma imagem de alta resolução. Quando uso o Canvas.snapshot, obtenho uma imagem gravável da parte visível da imagem após a redução. Isso resulta em uma imagem parcial de baixa resolução sendo salva.
Então, como faço para criar um instantâneo que inclua a tela inteira (não apenas a janela de exibição da barra de rolagem) e a resolução antes da transformação para baixo?
Atualmente, não estou fazendo nada sofisticado, apenas isso:
public WritableImage getPackageCanvasSnapshot()
{
SnapshotParameters param = new SnapshotParameters();
param.setDepthBuffer(true);
return packageCanvas.snapshot(param, null);
}