第一步:编写代码,在代码中需要将每一帧保存为图片格式。比如,下面是一个在圆中绘制另外一个圆的程序:
#include <graphics.h>
#include <time.h>
#include <conio.h>
#include <stdio.h>
#define WINWIDTH 1200
#define WINHEIGHT 600
#define RADIUS 280
int main()
{
TCHAR FilenameBuffer[256];
// 初始化图形模式
initgraph(WINWIDTH, WINHEIGHT);
//getimage(pImage,0,0, WINWIDTH-1, WINHEIGHT-1);
setfillcolor(RED);
fillcircle(WINWIDTH/2, WINHEIGHT/2,RADIUS);
setfillcolor(GREEN);
for (int i = 1; i < 1001; i++) {
BeginBatchDraw();
fillpie(
(WINWIDTH - RADIUS)/2,
(WINHEIGHT - RADIUS)/2,
(WINWIDTH + RADIUS)/2,
(WINHEIGHT + RADIUS)/2,
0, 3.14*2/1000*i);
EndBatchDraw();
swprintf(FilenameBuffer,sizeof(FilenameBuffer), L"%05d.jpg", i);
printf("%ls\n", FilenameBuffer);
saveimage(FilenameBuffer);
}
// 按任意键退出
_getch();
// 关闭图形模式
closegraph();
return 0;
}
运行这个程序之后,你会在目录下找到 00000.jpg 到 01000.jpg 文件
第二步,使用 FFMPEG 将这些文件“粘”成一个视频。在 https://github.com/BtbN/FFmpeg-Builds/releases 下载编译好的 FFMPEG 工具(对应 ffmpeg-master-latest-win64-gpl 这个名称的文件)。
使用的命令是:
ffmpeg -r 25 -i %05d.jpg -b:v 4M output2.mp4
其中 -r 25表示1秒25帧, -b:v 4M 设定输出视频码率。具体请根据需要酌情修改。
最终就可以生成一个40秒的视频:
最终制作的视频可以在 B站看到:
【EasyX 制作动画视频的例子】