将动态缓冲图像流式传输到网站



我在java中有一个动态的BufferedImage,我正在生成。我希望能够将缓冲图像发送到 Web 前端。我希望 Web 前端能够以设定的时间间隔处理刷新此图像。另外,我将需要键盘和鼠标回调。我正在研究HTML5画布,但它似乎并不真正支持我正在做的事情。

基本上,尝试制作一个在服务器端生成的游戏,然后客户端以 5fps 或其他速度发送该游戏的 BufferedImage。

您可以使用Base64.Encoder类通过Java对服务器端的BufferedImage进行编码。 这会将图像转换为 base64String,可以将其推入前端img标签的src中。

您需要暂时将图像保存到文件中,但这应该可以完成这项工作:

Base64.Encoder encoder = Base64.getEncoder();
BufferedImage bi = generateYourImage();
ImageIO.write(bi, yourImageExtension, new File(".tmp."+yourImageExtension));
String base64Str = "data:image/"+yourImageExtension+";base64,"+ encoder.encode(Files.readAllBytes(Paths.get(".tmp."+yourImageExtension")));

然后将base64Str发送给您的客户,并将其推送到img标签的src中。

最新更新