是否有可能将javascript脚本的输出渲染为jpeg而不是网页?
Is it possible to render the output of a javascript script as a jpeg instead of a web page?
一个名叫Cameron Beccario的优秀程序员创建了一个网页- http://www.earth.nullschool.net-,该网页根据当前的天气模型绘制出全球风向量。我需要以某种方式在网站上以图像序列或MPEG-4的形式输出,但每帧需要是4096x2048像素。显然,截图是行不通的。我可以访问Github上的源代码,代码似乎是一组javascript库与Beccario先生自己编写的一个javascript对象"earth"交互(以及一些CSS等似乎与我的问题无关)。我的目标是把这张地图投射到一个六英尺的球形屏幕上(别问这个问题),我不能修改把平面地图转换成球形投影的软件。所以本质上,我需要把网页的内容以高分辨率投影到一个大屏幕上。
我试过了(没有成功):
- 浏览源代码并尝试插入一个脚本以将javascript的输出重定向到图像文件中。根据我更有知识的同事的说法,这是行不通的,因为一个名为d3.js的库正在进行实际渲染,它并不像"javascript的输出变成d3的输入,我写了一个简单的脚本来将该输入放入jpeg文件中"那么简单。
- 各种截图软件。
- 寻找一个可以接受Javascript输入并在网页上下文之外处理它的库。我不确定这是否会工作,即使我找到一个,在任何情况下,我还没有。
我想知道的:
- 有一个库,可以取代d3在这段代码,并渲染javascript作为一个高分辨率的图像? 我的一个同事建议"在浏览器中包装地图"。他没有机会解释他的意思,有人知道这是否会是一个有效的方式来投影一个详细的视频或图像序列吗?
- 有没有人知道其他的方法来做到这一点?
提前感谢您的至理名言。
我原本打算推荐wkhtmltopdf,它可以直接从支持JS的站点生成图像,并可以指定设备设置(包括大屏幕)。然而,我不认为这将工作为您的目的,因为图像源是不断变化的。我真的认为你最好的办法是找到一个类似的工具,可以用来从网站上创建视频。
除此之外,有一种迂回的方法可能会让你得到你想要的。使用免费的虚拟机,您可以设置一个具有高分辨率屏幕(例如4096x2048)的虚拟机,然后使用它来进行mp4的屏幕捕获。
相关文章:
- 正在将base64 jpeg从input-type=file上传到服务器
- 如何防止网页加载后自动启动功能
- 如何使用Node.js最有效地解析网页
- 刷新后保留对网页的更改
- AJAX不会在文件上传后重定向到网页-POST方法
- 使用谷歌网站翻译器自动翻译网页
- 如何在内联依赖项并将图像转换为dataURI的情况下完全提取网页
- 仅重新加载网页的一部分
- 每次提交表单时都会重新加载网页
- 打开网页后立即获取网页的活动javascript函数
- 链接两个网页或网络应用程序的最佳方式
- Android键盘不适用于包含Javascript的网页
- 网页上失败的javascript会导致所有其他脚本失败
- 在网页上显示当前股票报价
- HTML 5 和 3.js 代码不会在网页上显示任何内容
- 使用javascript替换网页上的文本
- 无法在Cordova 4.0 ios中将jpg/jpeg图像转换为Base64
- 如何建立一个网页,检查我的路由器网络接口是否可以访问
- 我的点击登录在网页上不起作用
- 是否有可能将javascript脚本的输出渲染为jpeg而不是网页?