我試圖通過在動畫的每個步驟動態生成框架來創建動畫。現在,因爲我需要運行一種算法來逐像素地繪製新框架,並使用通過柵格數據訪問的BufferedImage。 然而,90%的時間花在用於將圖像傳輸到JFrame內容的java.awt.graphcis.drawImage()中。繪製成java.awt.graphics對象的高效方法
有沒有一種更有效的方法在圖形對象內逐個像素地繪製?
我試圖通過在動畫的每個步驟動態生成框架來創建動畫。現在,因爲我需要運行一種算法來逐像素地繪製新框架,並使用通過柵格數據訪問的BufferedImage。 然而,90%的時間花在用於將圖像傳輸到JFrame內容的java.awt.graphcis.drawImage()中。繪製成java.awt.graphics對象的高效方法
有沒有一種更有效的方法在圖形對象內逐個像素地繪製?
嘗試使用VolatileImage
。比這更快很難做..
謝謝dacwe,我不清楚如何使用VolatileImage。我是否應該繼續使用BufferedImage並將其從VolatileImage繪製到Graphics對象中,還是應該放棄bufferedImage並直接繪製到volatileimage中?我這樣問,因爲使用gc.drawLine()或gc.fillRect()逐個像素繪製比填充bufferedImage數組在計算上更昂貴。 – Jack
你試過java.awt.graphics2D.drawImage(bufferedImage,null,0,0)嗎?我不知道它是否比另一種抽取方法更有效率......但可能不是。 – toto2