如何将屏幕中一些点存在内存中?

编一个程序,要给程序窗体部分区域填充颜色,但必须是实时变化的,如果用循环,再setpixel太慢,跟拉幕似的。
我想该有能把这些点存在内存中的方法,如何存?
是VC的程序

我这个是C语言的.
使用getimage函数实现
void far getimage(int left, int top, int right, int bottom, void far *bitmap); 参数依次为左X坐标,上Y坐标,右X坐标,下Y坐标,将围成的矩形存到bitmap所指的内存区域内
先把图画好了,保存到内存中,再清屏.使用循环将内存里的位图放到屏幕上(使用putimage函数),效率会高很多,以下是编程实例:
#include "stdio.h"
#include <graphics.h>
main()
{ int n;
int i,j,gdriver,gmode,size;
void *buf;
gdriver=DETECT;
initgraph(&gdriver,&gmode,"");
setbkcolor(BLUE);
cleardevice();
setcolor(LIGHTRED);
setlinestyle(0,0,0);
setfillstyle(1,BROWN);
circle(100,200,60);
floodfill(100,200,12);
size=imagesize(40,140,160,260);
buf=malloc(size);
getimage(40,140,160,260,buf);
setbkcolor(BLACK);
cleardevice();
line(305,20,305,400);
printf("Please input circulation's frequency:\n");/*输入循环次数*/
scanf("%d",&n);
for(j=0;j<n;j++)
{for(i=0; i<185; i++){
putimage(i,210,buf,COPY_PUT);
}
line(305,20,305,400);
for(i=0;i<185;i++){
putimage(185-i,210, buf, COPY_PUT);
line(305,20,305,400);}
}
getch();
closegraph();
}
此程序要求输入一个循环次数以后即可实现小球的滚动,和你要解决的问题类似
温馨提示:答案为网友推荐,仅供参考