JavaFX Canvas缩放而无需抗锯齿

Pet*_*sen 5 java drawing javafx antialiasing

我正在开发一个绘画程序,并且希望能够在没有抗锯齿的情况下缩放(缩放)我的JavaFX画布。

经过一些研究,我发现了:JavaFX ImageView无需进行任何平滑处理即可解释不同的解决方法。

我决定实施解决方法#4,该方法是从画布的快照中读取像素并将其放大并绘制到ImageView。但是,这不可行,因为性能确实很差,这在很小的画布(640,480)上画出中等快的笔划就可以证明:

性能

我想我可以为笔划实现一个平滑算法,但是由于这种性能,我不确定在到达另一个停靠点之前需要花费多长时间。

我们会得到:canvas.setInterpolation(Interpolation.NEAREST_NEIGHBOUR)吗?还有另一种方法可以实现更好的性能吗?

我的最后一招是回到Swing,实际上可以将其设置为禁用插值。