【问题标题】:Efficient way to draw into a java.awt.graphics object绘制到 java.awt.graphics 对象的有效方法
【发布时间】:2011-10-20 20:10:00
【问题描述】:

我正在尝试通过在动画的每一步动态生成帧来创建动画。现在我需要运行一个算法来逐个像素地绘制新帧,并且我正在使用通过其栅格数据访问的 BufferedImage。 然而,90% 的时间都花在了 java.awt.graphcis.drawImage() 中,我用它来将图像转换为 JFrame 的内容。

有没有更有效的方法在图形对象内逐像素绘制?

【问题讨论】:

  • 你试过java.awt.graphics2D.drawImage(bufferedImage, null, 0, 0)吗?我不知道它是否比另一种绘图方法更有效......但可能不会。

标签: java animation graphics rendering awt


【解决方案1】:

尝试使用VolatileImage。比这快得多是很难做到的..

【讨论】:

  • 谢谢 dacwe,我不清楚如何使用 VolatileImage。我应该继续使用 BufferedImage 并将其从 VolatileImage 绘制到 Graphics 对象中,还是应该丢弃 bufferedImage 并直接绘制到 volatileimage 中?我问它是因为使用 gc.drawLine() 或 gc.fillRect() 逐像素绘制似乎比填充 bufferedImage 的数组更昂贵。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-01-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-20
  • 2021-02-12
  • 1970-01-01
相关资源
最近更新 更多