JavaFX和antialias

时间:2014-01-18 16:39:15

标签: java javafx java-2d

我正在将一些图形渲染从java / Android移植到标准java。

我面临的第一件事是 - 使用哪种图形API,Graphics2D或JavaFX。 assylias在我之前的问题“Porting graphics drawing from android to standard java”中提出,我使用JavaFX。

我已经看到,这有利于将双打和浮动作为绘图参数,就像使用Android一样。 但是,我无法找到任何确认绘图是抗锯齿的,或者可以打开抗锯齿的东西。

我的目标是生成一个高质量的图像,该图像将直接保存到磁盘而不会显示在应用程序中。它将显示在另一个上下文中而不是打印。 我需要绘制文本,路径,beziers,直线,椭圆和矩形。

我在挖掘JavaFX时是否值得,或者除了使用Graphics2D之外我别无选择?

1 个答案:

答案 0 :(得分:2)

在JavaFX应用程序中绘制的许多(如果不是全部)对象已经具有抗锯齿效果。这是肉眼可见的。尝试编写两个相同的应用程序,一个在JavaFX中,另一个在Swing中(没有Graphics和RenderingHints对象的抗锯齿效果)。差异很明显,特别是在绘制几何形状和文字时。 Here你可以在Swing和JavaFX之间找到一些比较,here你可以更好地了解JavaFX 2.X(阅读主题“图形系统”和“媒体和图像”)。

就个人而言,我更愿意使用JavaFX技术。我以前用过很多Swing。我的每个应用程序都必须在Swing中完成。然而,在看到JavaFX的实用性,可维护性,优雅性和生产力之后,我没有三思而后行。即使您只是想绘制简单的东西,JavaFX似乎也有更好的性能。如果我没弄错的话,JavaFX的开发考虑到了平台上视频硬件的使用,并且还受到了Java用户可用的着名游戏引擎的启发,这些引擎可用于高处理视觉效果,屏幕更新,以及许多其他事情。

为了您对所付出的技术和努力感到惊叹,我求求您访问this地址。查找名为Ensemble的JavaFX程序的下载。您将在哪里找到“JDK 7和JavaFX演示和示例”。单击下载并使用演示程序Ensemble。

有关绘制文本,几何形状和内容的信息,请参阅以下链接:

http://java.dzone.com/articles/javafx-21-beta-improved-font

http://fxexperience.com/2012/01/lcd-text-support-in-javafx-2-1-developer-preview/(上一个链接中的替代方案)

http://docs.oracle.com/javafx/2/text/jfxpub-text.htm(寻找“设置LCD文本支持”,并且通过将效果应用于文本和JavaFX的各种功能,您仍然可以改善向用户显示的内容的可视化。)< / p>

http://docs.oracle.com/javafx/2/api/javafx/scene/shape/Shape.html#smoothProperty(“形状部分”)

您想要同事的意见吗?在2.X或更高版本中采用JavaFX(不要使用JavaFX 1.X)。随着时间的推移,这种技术将会成熟。 Much仍然存在。 JavaFX的下一次更新,我们将有许多不错的功能。并注意到JavaFX仍然在其2.X版本中。可能在不久的将来,Swing图书馆将被遗漏,就像AWT一样。你最好现在开始学习JavaFX,而不是仅仅在将来你熟悉自己。市场就在那里。

如果您还有疑问,请回来询问。我们会在这里。 :)

祝你好运。