JavaFX 图像缩放和重用

标签 java image javafx resize scale

我实际上正在使用 JavaFX 编写游戏“Diablo”的“简单”版本。

目前屏幕尺寸为绝对 800x600,一切正常。现在我们的团队希望在每个桌面上使用全屏。

我的问题是:我们使用绝对尺寸为 25x25 的墙壁、地板等图像。如果我们想在全屏模式下工作,我们需要缩放它们。

但据我所知,您只能缩放 ImageView 或 BufferedImage。当然,我们正在重复使用这些图像。例如墙壁纹理在 Pane 上出现超过 20 次。对于图像来说这很容易,因为您可以一次又一次地使用它,但是您需要 20 个 ImageView 才能完成同一件事。

屏幕大约每 0.2 秒更新一次,因此我们不能总是缩放所有 ImageView。

我的想法是:

  • HashMap 中有很多缩放的 ImageView(性能不佳)
  • 在游戏开始时将所有原始图像的大小调整到新的资源目录中(糟糕的存储解决方案 - 重复的图像)

我确信,有更好的解决方案和智能标准解决方法,但我还没有找到。

感谢您的每一次帮助, 裁缝杜登

最佳答案

好吧,我自己找到了答案。像往常一样简单:

Image myImage = new Image("img.png", 15, 20, false false);

在加载过程中将图像缩放至15x20..

关于JavaFX 图像缩放和重用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34556296/

相关文章:

java - ClassPool.get() 在明显存在的类上抛出 NotFoundException?

JavaFX Scene Builder 在不同的包/ Controller 上处理 OnAction

java - 如何从同一个包加载txt文件

java - OpenAM Fedlet 单点登录

java - 在处理中添加二维数组行

android - 我可以在android模拟器中使用alsa运行应用程序吗?

html - 如何将图像放在背景图像之上

image - Typo3 如何处理我上传的图片?

java - javafx 主要方法 launch(args) 是如何工作的?

JavaFX:如何覆盖自定义对话框中的按钮操作