2012-04-25 67 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上的设计提供输入。

相关问题