[C.C++] C语言绘图

739 0
Honkers 2025-3-6 22:55:53 | 显示全部楼层 |阅读模式

C语言图形编程

本c语言代码是调用图形库写出来的。

1、看你晕不晕

  1. #include<graphics.h>
  2. #include<conio.h>
  3. #define N 130
  4. void main()
  5. {
  6. initgraph(600,600);
  7. int i,j;
  8. setfillcolor(RGB(N,N,N));
  9. fillrectangle(0,0,600,600);
  10. for(i=0;i<600;i+=50)
  11. {
  12. for(j=0;j<600;j+=50)
  13. {
  14. setlinecolor(BLACK);
  15. setfillcolor(BLACK);
  16. fillrectangle(j,i,j+40,i+40);
  17. setlinecolor(WHITE);
  18. setfillcolor(WHITE);
  19. fillcircle(j+45,i+45,5);
  20. }
  21. }
  22. getch();
  23. closegraph();
  24. }
复制代码

2、还不晕?(代码运行后是动图)

  1. #include<graphics.h>
  2. #include<conio.h>
  3. #include<math.h>
  4. #define N 130
  5. void main()
  6. {
  7. initgraph(640,480);
  8. setorigin(320,240);
  9. int i=0,j;
  10. setfillcolor(RGB(N,N,N));
  11. setlinestyle(PS_SOLID | PS_JOIN_BEVEL, 3);
  12. BeginBatchDraw();
  13. while(1)
  14. {
  15. setlinecolor(BLUE);
  16. for(j=0;j<50;j++)
  17. circle(-120,0,j*20+i);
  18. setlinecolor(RED);
  19. for(j=0;j<50;j++)
  20. circle(120,0,fabs(j*20-i));
  21. i++;
  22. if(i==20)
  23. i=0;
  24. Sleep(100);
  25. FlushBatchDraw();
  26. cleardevice();
  27. }
  28. EndBatchDraw();
  29. getch();
  30. closegraph();
  31. }
复制代码
3、两矩形一样长吗?

  1. #include<graphics.h>
  2. #include<conio.h>
  3. #include<math.h>
  4. #define N 130
  5. void main()
  6. {
  7. initgraph(640,480);
  8. setorigin(320,240);
  9. int i;
  10. for(i=-240;i<240;i+=20)
  11. line(320,0,-320,i);
  12. setfillcolor(RED);
  13. fillrectangle(-250,-100,-200,100);
  14. fillrectangle(150,-100,100,100);
  15. getch();
  16. closegraph();
  17. }
复制代码
4、消失的红点?(代码运行后是动图)

  1. #include<graphics.h>
  2. #include<conio.h>
  3. #include<math.h>
  4. #define N 130
  5. #define PI 3.1415926
  6. void main()
  7. {
  8. initgraph(640,480);
  9. setorigin(320,240);
  10. double a,b,x,y;
  11. b=0;
  12. setfillcolor(RGB(N,N,N));
  13. fillrectangle(-320,-240,320,240);
  14. while(1)
  15. {
  16. setfillcolor(BLACK);
  17. setlinecolor(BLACK);
  18. fillrectangle(-20,-3,20,3);
  19. fillrectangle(-3,-20,3,20);
  20. setfillcolor(RGB(200,50,0));
  21. setlinecolor(RGB(200,50,0));
  22. for(a=0;a<=2*PI;a+=PI/6)
  23. {
  24. x=200*cos(a);
  25. y=200*sin(a);
  26. fillcircle(x,y,20);
  27. }
  28. setfillcolor(RGB(N,N,N));
  29. setlinecolor(RGB(N,N,N));
  30. x=200*cos(b);
  31. y=200*sin(b);
  32. fillcircle(x,y,30);
  33. b+=PI/6;
  34. Sleep(300);
  35. }
  36. getch();
  37. closegraph();
  38. }
复制代码
5、走迷宫图形版(这下清楚多了)

  1. #include<graphics.h>
  2. #include<conio.h>
  3. #include<iostream>
  4. #include<string.h>
  5. using namespace std;
  6. int i,j,x,y;
  7. char c,n[27][52];
  8. void map()
  9. {
  10. char m[27][52]=
  11. {
  12. "#o#################################################",
  13. "# ### ## # ########### #",
  14. "# # ###### # # # ## # ######### ##### #",
  15. "####### # # # ## # # # #### # # # #",
  16. "# # # # ## # # # # # # # ### ##### # ##### #",
  17. "# # # # ## # ## # # ## ## # # # #",
  18. "# # # ###### # ########## # ########## # ##### # #",
  19. "# # # # # # # # # # # # #",
  20. "# # ########## ### ######## # # # ####### # ##### #",
  21. "# ## ### # # # # # # #",
  22. "##### # ######### # #### # # ########### # #####",
  23. "# # # # # ### # # # #",
  24. "# ## # # #### ###### #### # ######### #### ######",
  25. "# # # # ############### # # # # # ##",
  26. "## ######## # ####### ## # # ## # # ##",
  27. "## # # ##### ## ##### # # # # # # # ##",
  28. "## # #### # ############## # # # ###### ###### # ##",
  29. "## # #### # # # # # # # ##",
  30. "# # ## # # # ############ ##### ## ######### ##",
  31. "# ## ## ### # # #### # # # ### ## ##",
  32. "# ## ## # # #### # # # ### # # ########",
  33. "# # ######### # # # ####### # ## # #",
  34. "## # # ### # # #### ######## #",
  35. "## ############### # # ##### # ### ####### ### #",
  36. "## # # ## # #",
  37. "#################################################$#"
  38. };
  39. for(i=0;i<=27;i++)
  40. strcpy(n[i],m[i]);
  41. x=0;
  42. y=1;
  43. }
  44. void putmap()
  45. {
  46. for(i=0;i<27;i++)
  47. {
  48. for(j=0;j<52;j++)
  49. {
  50. if(n[i][j]=='#')
  51. {
  52. setfillcolor(RED);
  53. fillrectangle(j*10,i*10,j*10+10,i*10+10);
  54. }
  55. if(n[i][j]=='o')
  56. {
  57. setfillcolor(BLUE);
  58. fillcircle(j*10+5,i*10+5,5);
  59. }
  60. }
  61. }
  62. }
  63. void control()
  64. {
  65. while(1)
  66. {
  67. c=getch();
  68. if(c=='a'&&n[x][y-1]!='#')
  69. {
  70. n[x][y]=' ';
  71. y--;
  72. n[x][y]='o';
  73. }
  74. if(c=='d'&&n[x][y+1]!='#')
  75. {
  76. n[x][y]=' ';
  77. y++;
  78. n[x][y]='o';
  79. }
  80. if(c=='w'&&n[x-1][y]!='#')
  81. {
  82. n[x][y]=' ';
  83. x--;
  84. n[x][y]='o';
  85. }
  86. if(c=='s'&&n[x+1][y]!='#')
  87. {
  88. n[x][y]=' ';
  89. x++;
  90. n[x][y]='o';
  91. }
  92. cleardevice();
  93. putmap();
  94. }
  95. }
  96. void main()
  97. {
  98. map();
  99. initgraph(640,480);
  100. setorigin(20,20);
  101. putmap();
  102. control();
  103. getch();
  104. closegraph();
  105. }
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Honkers

荣誉红客

关注
  • 4008
    主题
  • 36
    粉丝
  • 0
    关注
这家伙很懒,什么都没留下!

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2025 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行