Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在Swing中绘制虚拟帧缓冲区?_Java_Image_Swing - Fatal编程技术网

Java 如何在Swing中绘制虚拟帧缓冲区?

Java 如何在Swing中绘制虚拟帧缓冲区?,java,image,swing,Java,Image,Swing,假设我有一个数组fb,它足够大,可以容纳128x128显示器的每个32位彩色像素。它的布局就像帧缓冲区一样 我怎样才能有效地在显示器上画出这个 我目前的方法在每个像素上循环,但这似乎相当缓慢和繁琐。没有办法将其转换为图像吗 编辑:我想使用JavaSwingAPI来完成这项工作。我不想要任何特定于平台的代码。但是,如果有一个库使用Swing API,那就好了。是一个支持2D图形渲染的库,可以从Java中使用 是流行的C SDL游戏开发库的Java端口。这也应该能够满足您的要求,尽管它似乎自2005

假设我有一个数组
fb
,它足够大,可以容纳128x128显示器的每个32位彩色像素。它的布局就像帧缓冲区一样

我怎样才能有效地在显示器上画出这个

我目前的方法在每个像素上循环,但这似乎相当缓慢和繁琐。没有办法将其转换为图像吗

编辑:我想使用JavaSwingAPI来完成这项工作。我不想要任何特定于平台的代码。但是,如果有一个库使用Swing API,那就好了。

是一个支持2D图形渲染的库,可以从Java中使用

是流行的C SDL游戏开发库的Java端口。这也应该能够满足您的要求,尽管它似乎自2005年以来就没有更新过,所以如果您在it方面有任何问题,支持可能不会提供

作为替代方案,您可以始终使用一些相当简单的C代码来打开和配置帧缓冲区,然后使用JNI以直接模式ByteBuffer返回内存映射的帧缓冲区,这样您就可以直接绘制它

我目前的方法在每个像素上循环,但这似乎相当缓慢和繁琐。没有办法将其转换为图像吗

您可以将其绘制到
缓冲区图像上

然后,您可以使用
buffereImage
创建
ImageIcon
,并使用该图标创建
JLabel
并将标签添加到GUI中

编辑:

我想将int数组转换为BuffereImage


buffereImage的
setRGB(…)
方法如何?

谢谢您的回答。请注意,我希望通过直接使用Swing API来实现这一点,而不是使用任何依赖于平台的代码。请看我的编辑。还有,为什么要从另一个问题复制答案?我知道如何在我的GUI中获得答案。我想将
int
数组转换为BuffereImage,而不需要手动绘制。我想这可能行得通。请将这些信息添加到您的答案中。@MarkYisri很高兴这有帮助。别忘了“接受”答案,这样人们就知道问题已经解决了。