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);
}

questionAnswers(1)

yourAnswerToTheQuestion