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[]
?是否有更好的(如「更快」)顯示它?