Java上的CanvasRenderingContext2D有什么替代品吗?



我有一个简单的游戏是用JavaScript写的。游戏的渲染器使用 CanvasRenderingContext2D。现在我想在Java上重制我的游戏,但我遇到了麻烦。

在Java上是否有CanvasRenderingContext2D的替代品?我需要像ctx.save((,ctx.scale((,ctx.translation((等方法。我尝试使用Graphics2D,但它不是一个好的解决方案。

Graphics2D在功能上大致等同于CanvasRenderingContext2D,所以我不确定你为什么会说Graphics2D不是一个好的解决方案。

如果你不想使用Graphics2DJava中的另一种选择是使用JavaFXCanvasGraphicsContext,在功能上也大致等同于在HTML Canvas上呈现。

所有这些 API 或多或少都做同样的事情(2D 渲染(,但在我看来,Java2D/Graphics2D是最好的设计(特别是从某种意义上说,API 与实现完全分离,因此您可以轻松更改目标 - 例如,我编写了Graphics2D子类,这些子类以 SVG 和 PDF 格式编写输出,而无需更改调用代码(。

最新更新