JavaFX - 将rgb数组绘制为图像

时间:2012-04-25 06:55:49

标签: java video bufferedimage javafx-2 vlcj

我们正在使用vlcj捕获网络摄像头视频并将其显示在用户屏幕上。我们逐帧捕获它,1280x720图像大约30fps。

我们的应用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())是成本高昂。

问题:如何基于rgb Image创建可以设置为ImageView的JavaFX int[]?是否有更好的(如#34;更快")显示它的方式?

1 个答案:

答案 0 :(得分:2)

此功能尚未成为JavaFX平台的一部分 - 现在我相信您必须使用当前使用的BufferedImage方法。

您可以跟踪功能Image Ops请求。任何人都可以注册jira account并投票支持问题/添加评论/详细用例/等,或者在JavaFX development mailing list上为设计提供输入。