亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 編程設計 > 正文

C語言編輯中應用畫圖程序技巧

2020-07-14 13:20:22
字體:
來源:轉載
供稿:網友

  在開發縣級電網調度自動化系統的過程中,碰到一個要繪制電力系統一次接線圖的問題。由于電力系統一次接線圖比較復雜,用一般的編程方法來繪制比較困難,因此,用C語言開發了一個手工繪制電力系統一次接線圖的鍵盤繪圖程序,使用該程序繪制的一次接線圖符合用戶需求,效果良好。下面小編給大家分享下技巧,希望可以幫助到大家解決困難。
  一、使用方法
  程序中定義了幾個特殊鍵:
  /"V":畫筆提起
  /"W":開始畫圖
  /"R":開始擦圖
  /"S":當前圖形存入文件
  /"E":調出已有文件
  /"C":畫圓
  程序一運行,屏幕上出現一個黃色的邊框來設定畫圖的區域,區域中間出現提起的畫筆符號 ,當按下"W"鍵時,畫筆符號變為 ,此時可移動方向鍵(上、下、左、右、左上、左下、右上、右下)來畫圖;當按下"R"鍵時,畫筆符號變為 ,此時可移動方向鍵來擦圖;在畫圖過程中,按下"C"鍵,可畫出一個半徑為20個象素點的圓;當結束畫圖時,按下"S"鍵,將畫好的圖形存盤;按下"E"鍵可調出已有的圖形進行編輯.
  二、源程序清單
  # 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 */[Page]
  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);
  三、結束語
  該程序在Turbo C 2.0環境下運行通過,使用效果良好.可以根據具體需要,對該程序進行擴充,以增加繪圖功能.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
成人日韩av在线| 国产精品无av码在线观看| 久久99精品久久久久久噜噜| 久久视频中文字幕| 成人免费直播live| 欧美视频在线看| 最近2019年手机中文字幕| 日韩一区二区福利| 亚洲国产欧美一区二区丝袜黑人| 亚洲国产美女精品久久久久∴| 国产精品色午夜在线观看| 91在线网站视频| 国产精品狠色婷| 国产成人久久久精品一区| 日韩精品极品视频| 欧美福利在线观看| 欧美精品激情blacked18| 欧美专区第一页| 北条麻妃在线一区二区| 欧美日韩国产精品一区二区三区四区| 精品伊人久久97| 亚洲日韩中文字幕| 亚洲国产97在线精品一区| 日韩av在线播放资源| 午夜精品久久久久久久男人的天堂| 日韩在线视频观看正片免费网站| 精品成人69xx.xyz| 国产成人精品在线观看| 久久久免费在线观看| 欧美另类极品videosbest最新版本| 夜夜嗨av色综合久久久综合网| 亚洲综合一区二区不卡| 欧美黑人巨大xxx极品| 精品福利在线视频| 国产精品入口尤物| 亚洲娇小xxxx欧美娇小| 国产亚洲aⅴaaaaaa毛片| 大伊人狠狠躁夜夜躁av一区| 亚洲国产精品字幕| 国产精品入口免费视| 亚洲天堂网站在线观看视频| 成人日韩av在线| 国产在线视频91| 欧美一级大片视频| 日韩在线观看网址| 国产成人在线视频| 国产精品久久久久久久一区探花| 午夜精品一区二区三区视频免费看| 九九热99久久久国产盗摄| 国产精品对白刺激| 亚洲欧美国产一本综合首页| 欧美xxxx14xxxxx性爽| 久久亚洲精品网站| 不卡伊人av在线播放| 亚洲人成电影在线播放| 国产精品大陆在线观看| 亚洲精品久久久久中文字幕欢迎你| 欧美精品激情在线观看| 国产精品网红直播| 性夜试看影院91社区| 福利二区91精品bt7086| 久久久久久综合网天天| 91精品国产91久久久久久不卡| 国产精品亚洲第一区| 亚洲国产精品成人va在线观看| 国产精品video| 国产亚洲人成网站在线观看| 77777少妇光屁股久久一区| 九九视频直播综合网| 97超级碰在线看视频免费在线看| 国产精欧美一区二区三区| 亚洲精品国产综合久久| 亚洲第一区第二区| 成人免费看吃奶视频网站| 亚洲а∨天堂久久精品喷水| 亚洲自拍在线观看| 亚洲娇小xxxx欧美娇小| 色综久久综合桃花网| 欧美成人精品h版在线观看| 欧美专区在线播放| 91香蕉电影院| 国产亚洲精品久久久优势| 中文字幕亚洲欧美一区二区三区| 日韩欧美在线看| 亚洲97在线观看| 欧美精品一区二区三区国产精品| 国产精品一区av| 超在线视频97| 欧美自拍视频在线观看| 国产精品专区一| 国产一区玩具在线观看| 91精品免费久久久久久久久| 欧美日韩性视频在线| 中文字幕日韩高清| 久久欧美在线电影| 国产精品福利片| 日韩欧美视频一区二区三区| 久久精品国产99国产精品澳门| 91亚洲人电影| 日本亚洲欧洲色α| 国产精品久久久久久五月尺| 久久综合网hezyo| 一本一本久久a久久精品牛牛影视| 国产噜噜噜噜噜久久久久久久久| 国内外成人免费激情在线视频| 国产成人一区二区在线| 亚洲欧美日韩图片| 成人黄色av网站| 久久久91精品国产一区不卡| 原创国产精品91| 一区二区欧美激情| 国产盗摄xxxx视频xxx69| 国产suv精品一区二区三区88区| 日韩有码在线播放| 亚洲第一区中文字幕| 亚洲аv电影天堂网| 日韩中文字幕在线| 国产69久久精品成人| 欧美日韩亚洲高清| 欧美电影院免费观看| 久久免费视频在线观看| 亚洲国产精品99| 日韩性xxxx爱| 日韩美女免费线视频| 国产成人+综合亚洲+天堂| 热草久综合在线| 高清欧美性猛交xxxx| 亚洲精品中文字幕av| 91网站在线免费观看| 日韩av成人在线| 亚洲福利视频久久| 亚洲人成网站999久久久综合| 日韩综合中文字幕| 国产亚洲精品激情久久| 成人夜晚看av| 亚洲视频在线观看| 91精品国产高清自在线| 国产美女久久久| 精品国产一区av| 久久成人这里只有精品| 91亚洲国产精品| 亚洲香蕉成人av网站在线观看| 免费不卡欧美自拍视频| 亚洲欧洲在线看| 欧美成人精品不卡视频在线观看| 日韩美女在线看| 国产精品久久婷婷六月丁香| 日韩av中文字幕在线免费观看| 欧美日韩国产在线看| 欧美极品少妇xxxxⅹ免费视频| 国产精品久久9| 欧美精品videos| 中文字幕欧美在线| 欧美日韩在线观看视频小说| 欧美一级高清免费| 在线成人一区二区| 亚洲在线观看视频网站| 一区二区三区回区在观看免费视频| 亚洲视频网站在线观看| 国产精品久久久久av免费| 日韩毛片在线看| 欧美性资源免费| 中文字幕视频在线免费欧美日韩综合在线看| 国产亚洲视频在线|