Drpoint1.cpp
上传用户:wszmarenbt
上传日期:2013-04-26
资源大小:2552k
文件大小:1k
源码类别:

Windows编程

开发平台:

Visual C++

  1. #include<dos.h>
  2. #include<conio.h>
  3. void INIT_SCREEN(void);
  4. void RESTORE_SCREEN(void);
  5. void DRAWPOINT(int X,int Y,int color);
  6. void DRAWLINE(int X,int Y,int LENGTH,int COLOR);
  7. void CHANGE_COLOR(int COLORNUM,int Red,int Green,int Blue);
  8. void DRAWBAR(int X,int Y);
  9. int main(void)
  10. {
  11. INIT_SCREEN();
  12. DRAWBAR(10,50);
  13. getch();
  14. RESTORE_SCREEN();
  15. return(0);
  16. }
  17. void INIT_SCREEN(void)
  18. {
  19. union REGS regs;
  20. regs.x.ax=0x13;
  21. int86(0x10,&regs,&regs);
  22. }
  23. void RESTORE_SCREEN(void)
  24. {
  25. union REGS regs;
  26. regs.x.ax=0x03;
  27. int86(0x10,&regs,&regs);
  28. }
  29. void CHANGE_COLOR(int COLORNUM,int Red,int Green,int Blue)
  30. {
  31. outportb(0x3c8,COLORNUM);
  32. outportb(0x3c9,Red);
  33. outportb(0x3c9,Green);
  34. outportb(0x3c9,Blue);
  35. }
  36. void DRAWPOINT(int X,int Y,int color)
  37. {
  38. char far *p;
  39. p=(char far *)(0x0a0000000L);
  40. *(X+Y*320+p)=color;
  41. }
  42. void DRAWLINE(int X,int Y,int LENGTH,int COLOR)
  43. {
  44. int NUM;
  45. for(NUM=0;NUM<LENGTH;NUM++)
  46. DRAWPOINT(X+NUM,Y,COLOR);
  47. }
  48. void DRAWBAR(int X,int Y)
  49. {
  50. int NUM;
  51. int Red=0,Green=0,Blue=0;
  52. for(NUM=0;NUM<15;NUM++)
  53. {
  54. CHANGE_COLOR(NUM,Red,Green,Blue);
  55. Blue+=4;
  56. Red+=3;
  57. Green+=2;
  58. }
  59. int TEMP_Y=Y;
  60. for(NUM=14;NUM>=0;NUM--)
  61. DRAWLINE(X,TEMP_Y--,200,NUM);
  62. TEMP_Y=Y;
  63. for(NUM=14;NUM>=0;NUM--)
  64. DRAWLINE(X,TEMP_Y++,200,NUM);
  65. }