2011-08-05 2 views
3

애니메이션의 각 단계에서 프레임을 동적으로 생성하여 애니메이션을 만들려고합니다. 이제 새로운 프레임을 픽셀 단위로 그리는 알고리즘을 실행해야하며 래스터 데이터를 통해 액세스하는 BufferedImage를 사용하고 있습니다. 그러나 시간의 90 %는 이미지를 JFrame의 콘텐츠로 전송하는 데 사용하는 java.awt.graphcis.drawImage() 내부에서 소요됩니다.java.awt.graphics 객체를 효율적으로 그리는 방법

그래픽 객체 안에 픽셀 단위로 그릴 수있는 효율적인 방법이 있습니까?

+0

java.awt.graphics2D.drawImage (bufferedImage, null, 0, 0)를 시도 했습니까? 다른 방법보다 효율적일 수 있는지는 잘 모르겠지만 아마 그렇지 않을 수도 있습니다. – toto2

답변

1

VolatileImage을 사용해보세요. 그것보다 훨씬 빠릅니다.

+2

감사합니다 dacwe, 나에게 VolatileImage를 사용하는 방법이 명확하지 않습니다. BufferedImage를 계속 사용하고 VolatileImage에서 Graphics 객체로 그려야합니까? 그렇지 않으면 bufferedImage를 삭제하고 휘발성 이미지에 직접 그려야합니까? gc.drawLine() 또는 gc.fillRect()를 사용하여 픽셀 단위로 픽셀을 그리는 것은 bufferedImage의 배열을 채우는 것보다 계산 상으로 비싸 보입니다. – Jack

관련 문제