#include<stdio.h> #include<graphics.h> #include<Windows.h> struct data { int x; int y; int step; }; int main() { initgraph(70,96); cleardevice(); while (true) { BeginBatchDraw(); cleardevice(); { int i; IMAGE k[10]={0};//定义IMAGE数组 char a[200]; for (i = 1; i < 6; i++) { sprintf(a, "dongzuo%d.jpg",i); loadimage(&k[i]+i, a, getwidth(), getheight());//加载图片 } while (1)//进入死循环 { for (int j = 1; j <6; j++) { putimage(0, 0, &k[j]); Sleep(70);//延时0.07秒贴一张图片 } FlushBatchDraw();//这里也可以用EndBatchDraw(); } EndBatchDraw(); } return 0; } }
时间: 2024-04-20 09:24:01 浏览: 86
根据你提供的代码,有几个可能导致无法正确输出图片的原因:
1. 缺少必要的图库:你使用了 `<graphics.h>` 和Windows.h>` 头文件。这些头文件通常是用于在 Windows 环境下进行图形编程的请确保你的编译环境中经正确配置了这些图形库2. 图片文件路径错误:你使用了 `loadimage` 函数加载图片,但是图片文件路径是通过 `sprintf` 函数生成的。请确保图片文件 `dongzuo1.jpg` 至 `dongzuo5.jpg` 与你的代码文件在同一目录下,并且文件名正确。
3. 图形绘制逻辑问题:在你的代码中,你使用了一个死循环来循环播放图片,但是没有提供退出循环的条件。这可能导致程序陷入无限循环,无法正常退出。你可以考虑添加一个退出循环的条件,例如按下某个键盘按键或者设置一个计数器来限制循环次数。
请检查以上几个方面,看看是否可以解决你遇到的问题。如果问题仍然存在,请提供更多的详细信息,以便我能够给出更准确的帮助。
阅读全文