- 注册时间
- 2004-10-31
- 最后登录
- 1970-1-1
|
怀恋wqx陪伴我的那四年!
这段程序希望能给新手一些帮助!- int bmpx,bmpy,bmppx; //任意大小图形的长和宽,以及横向字节数。
- char filename[60];
- char allname[100];
- char zimulu[20]={"我的图片"};
- char fenge[2]={'/'};
- char fp;
- void readdir()
- {int t;
- strcpy(allname,fenge);
- strcat(allname,zimulu);
- ChDir(allname);
- for (;;)
- {if (!FileList(filename))
- {ChDir("..");continue;}
- if (ChDir(filename)){strcat(allname,fenge);strcat(allname,filename);continue;}
- break;
- }
- strcat(allname,fenge);
- strcat(allname,filename);
- }
- void showpic(int a,int b)
- {char picdata[20];
- int x;
- for(x=1;x<=80;x++)
- {rewind(fp);
- fseek(fp,62+(bmpy-x)*bmppx+a*bmppx+b,0);
- fread(picdata,1,20,fp);
- WriteBlock(0,x-1,160,1,8,picdata);
- }
- Refresh();
- }
- int presshold()
- {if(CheckKey(20))return 20;
- if(CheckKey(21))return 21;
- if(CheckKey(22))return 22;
- if(CheckKey(23))return 23;
- return 0;
- }
- void main()
- {int a,b,ch,k;
- char t[6];
- ClearScreen();
- TextOut(41,32,"星星画王 1.0",1);
- Refresh();
- getchar();
- readdir();
- fp=fopen(allname,"r");
- fseek(fp,18,0);
- fread(t,1,6,fp);
- bmpx=t[1]*256+t[0];
- bmpy=t[5]*256+t[4];
- bmppx=bmpx/8+(bmpx-(bmpx/8)*8>0)*(-1);
- ClearScreen();
- Refresh();
- printf("%d %d",bmpx,bmpy);
- getchar();
- a=0;
- b=0;
- showpic(a,b);
- for(;;)
- {ch=getchar();
- if(ch==27){ClearScreen();TextOut(28,32,"更多精彩敬请关注",1);Refresh();getchar();fclose(fp);exit(0);}
- if(ch>=20&&ch<=23)
- {for(;;)
- {k=presshold();
- if(!k)break;
- else if(k==20&&a<0){a++;showpic(a,b);continue;}
- else if(k==21&&a>-bmpy+80){a--;showpic(a,b);continue;}
- else if(k==22&&b<bmppx-20){b++;showpic(a,b);continue;}
- else if(k==23&&b>0){b--;showpic(a,b);continue;}
- else {Beep();break;}
- }
- }
- continue;
- }
- }
复制代码 |
|