Java的“缩放”画布?

3
我有一个java.awt.canvas对象,使用Graphics2D(从bufferStrategy获取)绘制内容,我想要“缩放”。

所以如果我放大(将其按1倍比例缩放),那么我从(0,0)到(10,10)绘制的线实际上会从(0,0)到(20,20)绘制。

这可行吗?还是我必须自己实现它?

1个回答

4

看起来我正在使用Graphics类而不是Graphics2D。我正在使用Canvas,如何获取Graphics2D对象?编辑 我想通了!当我调用bufferStrategy.getDrawGraphics()时,我必须进行类型转换。 - Petter Thowsen
我注意到当我将比例缩放为2时,FPS从6000fps下降到3000fps。这正常吗?:\顺便说一句,这是为了游戏。 - Petter Thowsen
@PetterThowsen 很可能性能会因应用于图形的转换和渲染提示而有十倍到百倍的差异。在某些情况下,图形实现可以通过硬件加速绘制物体,并且缩放输出可能会干扰这种切换到软件渲染。这取决于很多因素,所以很难说。不过我不会担心减半的速度。我已经为一个游戏编写了一个原型,只使用基本的被动渲染和图像瓦片,它以60fps运行(并且它是在2003年的硬件上运行的)。 - Durandal
不要在开发基础阶段就担心性能问题,等到真正成为问题时再考虑。如果你只使用基本的2D渲染,那么速度应该足够快;如果需要花哨的3D效果,则可以考虑切换到基于OpenGL的渲染(有一些预制的2D游戏引擎使用OpenGL进行渲染,但我没有使用过其中哪些项目比较好)。 - Durandal

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接