今天是巩固EasyX图形库的学习,播放图片,成为一个播放图片组成的一个视频。
#include <graphics.h> //EasyX图形库头文件
#include <stdio.h>
#include <iostream>
#include <Windows.h>
#include <mmsystem.h> //播放音乐需要的头文件
#pragma comment(lib,"winmm.lib") //告诉编译器 加载一个 winmm.lib 的文件
#define COUNT ***
using namespace std;
int main()
{
//需要加载图片的数组 *** 是上面的宏定义 有多张图片
IMAGE images[***];
//存储图片集的数组 *** 这里可自己选择 32 64 128 256 等 但是太大也不好 特别的占内存
char fileName[***]
cout<<"正在加载中,请稍等片刻。。。<<endl;
//预先加载资源
//这里的 i 一定不能等于 0
for(int i=1;i<***;i++)
{
//这里"**********"是你图片所在的位置,但是必须放在这个项目的 main 同级的文件中
//***-i 代表这个所有图片的下标 0 开始
sprintf_s(fileName,"**********",***-i,i);
//&images[i-1]取该图片所在数组的地址
loadimage(&images[i-1],fileName);
}
//上面是先把图片加载好,下面开始实现画布和音乐
initgraph(800,450);//画布大小
//重复播放音乐 "*********"音乐文件名 也要在 main 同级的文件中
mciSendString("*********",0,0,0);
//播放图片 一直循环 1 代表死循环
while(1)
{
//依次播放音乐
for(int i=0;i<***;i++)
{
putimage(0,0,&images[i]);
Sleep(100);//一张图片显示完后,休眠0.1秒后在播放下一张
}
}
system("pause");
closegeaph(); //关闭图形库
return 0;
}
第一个 for 要说明一下 为什么不是 i=0 呢,是因为放入东西 不肯能为 0 吧 ,至少要有一张进入数组吧。
所有 sprintf_s(fileName,"*******",-i,i); 这里取下标的时候 就要 图片的总数对应的下标中 从 0 开始。