奶头挺立呻吟高潮av全片,成人试看120秒体验区,性欧美极品v,A片高潮抽搐揉捏奶头视频

C語言

C語言如何實(shí)現(xiàn)畫圖教程

時(shí)間:2025-05-02 16:00:09 C語言 我要投稿

C語言如何實(shí)現(xiàn)畫圖教程

  C語言有豐富的數(shù)據(jù)結(jié)構(gòu)和運(yùn)算符。包含了各種數(shù)據(jù)結(jié)構(gòu),如整型、數(shù)組類型、指針類型和聯(lián)合類型等,用來實(shí)現(xiàn)各種數(shù)據(jù)結(jié)構(gòu)的運(yùn)算。以下是小編為大家搜索整理的C語言如何實(shí)現(xiàn)畫圖教程,希望能給大家?guī)韼椭?更多精彩內(nèi)容請(qǐng)及時(shí)關(guān)注我們應(yīng)屆畢業(yè)生考試網(wǎng)!

  程序中定義了幾個(gè)特殊鍵:

  "V”:畫筆提起

  "W”:開始畫圖

  "R”:開始擦圖

  "S”:當(dāng)前圖形存入文件

  "E”:調(diào)出已有文件

  "C”:畫圓

  程序一運(yùn)行,屏幕上出現(xiàn)一個(gè)黃色的邊框來設(shè)定畫圖的區(qū)域,區(qū)域中間出現(xiàn)提起的畫筆符號(hào) ,當(dāng)按下”W“鍵時(shí),畫筆符號(hào)變?yōu)?,此時(shí)可移動(dòng)方向鍵(上、下、左、右、左上、左下、右上、右下)來畫圖;當(dāng)按下”R“鍵時(shí),畫筆符號(hào)變?yōu)?,此時(shí)可移動(dòng)方向鍵來擦圖;在畫圖過程中,按下“C”鍵,可畫出一個(gè)半徑為20個(gè)象素點(diǎn)的圓;當(dāng)結(jié)束畫圖時(shí),按下“S”鍵,將畫好的圖形存盤;按下“E”鍵可調(diào)出已有的圖形進(jìn)行編輯。

  3.源程序清單

  # include "graphics.h"

  # include "stdio.h"

  # include "fcntl.h"

  # include "stdlib.h"

  main()

  void save(),load();

  void *wg,*rg,*vg,*fy;

  int driver,mode;

  int c=RED;

  int x=320,y=225;

  int x1,y1,x2,y2;

  int k,k1,k2;

  /* initialize grapher */

  detectgraph(&driver,&mode);

  initgraph(&driver,&mode,"c:\tc");

  /* write the pen */

  bar(200,10,206,16);

  line(203,7,200,10);

  line(203,7,206,10);

  line(243,7,240,16);

  line(243,7,246,16);

  line(283,7,280,10);

  line(283,7,286,10);

  line(283,7,283,16);

  /* save the pen */

  wg=malloc(imagesize(200,7,206,16));

  rg=malloc(imagesize(240,7,246,16));

  vg=malloc(imagesize(280,7,286,16));

  fy=malloc(imagesize(200,7,206,16));

  getimage(200,7,206,16,wg);

  getimage(240,7,246,16,rg);

  getimage(280,7,286,16,vg);

  cleardevice();

  /* write the box */

  setcolor(YELLOW);

  rectangle(4,19,637,447);

  x1=x-3;

  y1=y+1;

  x2=x+3;

  y2=y+10;

  getimage(x1,y1,x2,y2,fy);

  putimage(x1,y1,vg,XOR_PUT);

  /* receive the command */

  for (;;)

  while (bioskey(1)==0);

  k=bioskey(0);

  putimage(x1,y1,fy,AND_PUT);

  if (((k&0x00ff)|0x00)==0)

  k1=k&0xff?0:k>>8; /* k1 is the specialkey value */

  else

  k2=k&0x00ff; /* k2 is the non-specialkey value */

  if (((k&0x00ff)|0x00)==0) /* Special key */

  switch(k1)

  case 45:

  restorecrtmode();

  exit(0);

  case 72:

  if (y>20)

  y=y-1;

  break;

  case 75:

  if (x>5)

  x=x-1;

  break;

  case 77:

  if (x<636)

  x=x+1;

  break;

  case 80:

  if (y<446)

  y=y+1;

  break;

  case 71:

  if ((x>5)&&(y>20))

  x=x-1;

  y=y-1;

  break;

  case 79:

  if ((x>5)&&(y<446))

  x=x-1;

  y=y+1;

  break;

  case 73:

  if ((x<636)&&(y>20))

  x=x+1;

  y=y-1;

  break;

  case 81:

  if ((x<636)&&(y<446))

  x=x+1;

  y=y+1;

  break;

  x1=x-3;

  y1=y+1;

  x2=x+3;

  y2=y+10;

  getimage(x1,y1,x2,y2,fy);

  /* non-special key */

  switch(k2)

  case 118: /* 'v' */

  case 86: /* 'V' */

  putimage(x1,y1,vg,OR_PUT);

  break;

  case 119: /* 'w' */

  case 87: /* 'W' */

  putimage(x1,y1,wg,OR_PUT);

  putpixel(x,y,c);

  break;

  case 114: /* 'r' */

  case 82: /* 'R' */

  putimage(x1,y1,rg,OR_PUT);

  putpixel(x,y,BLACK);

  break;

  case 115: /* 's' */

  case 83: /* 'S' */

  save("pic.dat");

  break;

  case 101: /* 'e' */

  case 69: /* 'E' */

  load("pic.dat");

  break;

  case 99: /*'c'*/

  case 67: /*'C'*/

  setcolor(RED);

  circle(x,y,20);

  break;

  default:continue;

  /* function for screen picture save

  */

  void save(char *fname)

  FILE *fp;

  int i;

  register long j;

  char far *ptr;

  fp=fopen(fname,"wb");

  for(i=0;i<4;i++)

  outportb(0x3CE,4);

  outportb(0x3CF,i);

  ptr=(char far *) 0xA0000000L;

  for (j=0;j<38400L;j++)

  putc(*ptr,fp);

  ptr++;

  fclose(fp);

  outportb(0x3CF,0);

  /* function for screen picture display

  */

  void load(char *fname)

  FILE *fp;

  register int i;

  int k4=1;

  register long j;

  char far *ptr;

  fp=fopen(fname,"rb");

  for (i=0;i<4;i++)

  outportb(0x3C4,2);

  outportb(0x3C5,k4);

  ptr=(char far *)0xA0000000L;

  for (j=0;j<38400L;j++)

  *ptr=getc(fp);

  ptr++;

  k4*=2;

  fclose(fp);

  outportb(0x3C5,0xF);

  4.結(jié)束語

  該程序在Turbo C 2.0環(huán)境下運(yùn)行通過,使用效果良好?梢愿鶕(jù)具體需要,對(duì)該程序進(jìn)行擴(kuò)充,以增加繪圖功能。

【C語言如何實(shí)現(xiàn)畫圖教程】相關(guān)文章:

如何實(shí)現(xiàn)C語言畫圖教程08-08

c語言中怎么畫圖11-06

如何實(shí)現(xiàn)C語言多個(gè)函數(shù)值的返回09-16

C語言程序的實(shí)現(xiàn)09-27

C語言數(shù)組教程08-31

C語言編輯畫圖程序的技巧09-21

用C語言如何實(shí)現(xiàn)貪吃蛇編程08-06

C語言的HashTable簡(jiǎn)單實(shí)現(xiàn)10-12

C語言文件操作教程09-07

主站蜘蛛池模板: 银川市| 临沂市| 宕昌县| 台东市| 滕州市| 廊坊市| 酒泉市| 洛宁县| 陆丰市| 朝阳区| 白城市| 罗源县| 凤山县| 江川县| 米林县| 新建县| 沂源县| 扎鲁特旗| 蕉岭县| 冷水江市| 宝兴县| 溆浦县| 克什克腾旗| 孙吴县| 陕西省| 兴安盟| 麻栗坡县| 临湘市| 南丰县| 武强县| 罗甸县| 巴彦淖尔市| 临安市| 仁怀市| 芮城县| 南乐县| 花莲市| 图木舒克市| 和林格尔县| 通化市| 砀山县|