JavaFX图像缩放和重用

时间:2016-01-01 12:53:51

标签: java image javafx resize scale

我实际上正在写一个简单的"游戏版本"暗黑破坏神"使用JavaFX。

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

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

但据我所知,您只能缩放ImageView或BufferedImage。当然我们正在重复使用这些图像。例如墙面纹理在窗格上出现超过20次。这对图像来说很简单,因为你可以一次又一次地使用它,但你需要20个ImageView才能做同样的事情。

屏幕每0.2秒更新一次,因此我们无法始终缩放所有ImageView。

我的想法是:

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

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

感谢您的帮助, TailorDurden

1 个答案:

答案 0 :(得分:2)

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

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

将加载过程中的图像缩放到15x20 ..