BufferedImage imageType в разгаре - PullRequest
1 голос
/ 11 августа 2010

Я пишу виджет, который выполняет некоторое кэширование, чтобы избежать ненужных вызовов Shape.draw для набора фигур при каждом перерисовке.

Я пытался сделать что-то подобное (код scala):

private val buffer = new BufferedImage(width, height, /* (1) */)
...
override def paintComponent(Graphics2D g) = {
  if (hasChanged) {
     val bg = buffer.getGraphics.asInstanceOf[Graphics2D]
     bg.draw(/* ... */)
     buffer.flush
  }
  g.drawImage(buffer, null /* (2) */, 0, 0)
}

Я не уверен, что положить в (1) и (2).null для (2), кажется, работает (я не хочу преобразования).Но для (1) я понятия не имею, какой тип изображения выбрать.Есть ли способ спросить «правильный» во время выполнения?

1 Ответ

1 голос
/ 12 августа 2010

Как указал Тедил, g.getDeviceConfiguration().createCompatibleImage( width, height, Transparency.OPAQUE) добивается цели.

...