1

我们正在使用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可以设置为 an的 JavaFX ?有没有更好(如“更快”)的方式来显示它?ImageViewint[]

4

1 回答 1

2

这个功能还不是 JavaFX 平台的一部分——现在我相信你必须使用你当前使用的 BufferedImage 方法。

您可以跟踪功能Image Ops请求。任何人都可以注册一个jira 帐户并为问题投票/添加评论/详细用例/等,或在JavaFX 开发邮件列表上为设计提供输入。

于 2012-04-25T16:52:21.210 回答