
如何利用 canvas 生成高清视频?
当需要将基于 echarts 的图表转换为视频时,使用屏幕录制工具往往会生成清晰度较低的视频。这是因为echarts 渲染的是 canvas,其默认清晰度较低。
使用 recordrtc.js 生成视频
为了提高清晰度,可以借助 recordrtc.js 插件,它能够使用 canvas 来生成视频。在 html 中引入所需插件后,可以按照以下步骤导出视频:
Flash是Adobe公司推出的一款经典、优秀的矢量动画编辑软件,利用该软件制作的动画尺寸要比位图动画文件(如GLF动画)尺寸小的多,用户不但可以在动画中加入声音、视频和位图图像,还可以制作交互式的影片或者具有完备功能的网站。该软件对动画制作者的计算机知识要求不高,简单易学,效果流畅生动,对于动画制作初学者来说是非常适合的一款软件。在学习制作动画之前,通过本章的学习,读者应熟悉Flash动画的特点,Flash CS3的界面组成元素,动画制作的步骤,并通过制作实例了解Flash一般步骤。 有需要的朋友可以下
- 初始化 recordrtc,指定 canvas 作为录制对象:
var recordrtc = recordrtc($canvas, {
type: 'canvas'
});- 开始录制:
recordrtc.startrecording();
- 录制结束后,停止录制并获取视频 blob:
recordrtc.stoprecording(function(videourl) {
var recordedblob = recordrtc.getblob();
saveas(recordedblob, "test.mp4");
});使用 gif.js 生成 gif
如果需要导出为 gif,可以使用 gif.js 插件。同样地,引入插件后,可以按以下步骤导出 gif:
- 初始化 gif 实例:
var gif = new gif({
workers: 2,
quality: 10,
workerscript: './js/gif.worker.js'
});- 逐帧添加 canvas 到 gif 实例中:
gif.addframe($canvas, {delay: 100});- 当达到指定帧数或录制时间时,生成 gif:
gif.render();
- 完成后,导出 gif blob:
gif.on('finished', function(blob) {
saveAs(blob, "test.gif");
});通过这些方法,您可以直接使用 canvas 生成高清的视频或 gif 图像。









