2012-04-25 63 views
1

我們使用vlcj來捕獲攝像頭視頻並將其顯示在用戶屏幕上。我們逐幀捕捉它,一幅1280x720的圖像,大約30fps。JavaFX - 將rgb數組作爲圖像進行繪製

我們的應用UI完全是JavaFX,而且我們在顯示上述幀時遇到了問題。

使用Swing中,我們會做這樣的事情:

BufferedImage image; //create compatible image 

public void onDisplay(int[] rgbBuffer){ 
     image.setRGB(0,0,width, height, rgbBuffer, 0, width); 
     myJPane.repaint(); 
} 

但JavaFX的的Image類沒有提供這樣的方法,並創建一個BufferedImage只是將它轉換成一個JavaFX Image(通過使用Image.impl_fromPlatformImage())是非常昂貴的。

問題:怎樣才能創建一個JavaFX Image,可以設置爲ImageView的基礎上,RGB int[]?是否有更好的(如「更快」)顯示它?

回答

2

此功能尚未成爲JavaFX平臺的一部分 - 現在我相信您必須使用您當前使用的BufferedImage方法。

您可以跟蹤功能Image Ops請求。任何人都可以註冊jira account並投票發佈/添加評論/詳細使用案例/等,或者向JavaFX development mailing list上的設計提供輸入。

相關問題