将图像从Java传递到JavaFX WebView

时间:2016-08-29 04:09:41

标签: java canvas javafx webview

我使用JavaFX获得了一个应用程序窗口。 该窗口包含一个简单的WebView来显示HTML文档。 在HTML文档中,有一个脚本标记,执行一个Java函数,它将像素返回为int []。 我使用以下代码将图像绘制到画布上:

var context = canvas.getContext('2d');
var imageData = context.createImageData(canvas.width, canvas.height);
var buffer8 = new Uint8ClampedArray(imageData.data.buffer);
var buffer32 = new Uint32Array(imageData.data.buffer);
buffer32.set(pixels);
context.putImageData(imageData, 0, 0);

这是有效的,但是每帧的性能大约是0.07秒,总共大约15 FPS,目前使用640x480画布。我的目标是以1920x1080(目前为5 FPS)获得最后30fps,甚至更高的值。我想出的唯一解决方案是在java端立即创建/填充整个缓冲区,但我不知道如何管理它。任何帮助将不胜感激。

0 个答案:

没有答案