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

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

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

2020-06-27 15:08:27
字體:
來源:轉載
供稿:網友
 

  在開發縣級電網調度自動化系統的過程中,碰到一個要繪制電力系統一次接線圖的問題。由于電力系統一次接線圖比較復雜,用一般的編程方法來繪制比較困難,因此,用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
美日韩丰满少妇在线观看| 欧美中文字幕在线观看| 高跟丝袜一区二区三区| 日本欧美一二三区| 欧美激情视频一区| 久久99热这里只有精品国产| 亚洲国产精品久久91精品| 福利视频导航一区| 欧美激情亚洲精品| 国产在线播放不卡| 日韩av网址在线观看| 亚洲国产中文字幕久久网| 国产精品稀缺呦系列在线| 国产精品日韩电影| 亚洲自拍在线观看| 成人福利视频网| 国内精品美女av在线播放| 国内外成人免费激情在线视频| 欧美巨大黑人极品精男| 亚洲桃花岛网站| 亚洲欧美国产另类| 欧美性猛交99久久久久99按摩| 97色在线观看| 欲色天天网综合久久| 欧美黄色免费网站| 国产精品扒开腿做爽爽爽男男| 欧美自拍大量在线观看| 一区二区三区四区在线观看视频| 91免费国产网站| 欧美黑人狂野猛交老妇| 日韩精品高清在线观看| 欧美激情综合亚洲一二区| 亚洲欧美日本精品| 成人免费福利视频| 奇米影视亚洲狠狠色| 欧美在线一级视频| 精品国产91久久久久久| 日韩免费在线视频| 2019日本中文字幕| 色婷婷**av毛片一区| 国产精品国产亚洲伊人久久| 亚洲一区二区中文| 国产亚洲综合久久| 欧美激情一区二区三区久久久| 日韩av男人的天堂| 国产69精品久久久久久| 欧美极品美女视频网站在线观看免费| 成人黄色av播放免费| 国产在线a不卡| 国产精品久久久久久久久久东京| 日韩电影在线观看免费| 欧美一性一乱一交一视频| 国产精品福利无圣光在线一区| 一本久久综合亚洲鲁鲁| 91精品国产高清久久久久久| 在线看国产精品| 日韩成人av网址| 日韩经典中文字幕在线观看| 性夜试看影院91社区| 欧美精品18videos性欧| 日韩天堂在线视频| 尤物yw午夜国产精品视频明星| 粉嫩老牛aⅴ一区二区三区| 91系列在线观看| 亚洲激情小视频| 久热精品在线视频| 欧美性生交大片免费| 97视频在线观看亚洲| 国产精品自产拍高潮在线观看| 北条麻妃久久精品| 中国人与牲禽动交精品| 亚洲男人天堂九九视频| 亚洲美女精品成人在线视频| 日韩欧美在线视频观看| 欧美国产日韩中文字幕在线| 欧美猛交ⅹxxx乱大交视频| 最近2019免费中文字幕视频三| 国内精品400部情侣激情| 久久在线观看视频| 亚洲精品免费网站| 亚洲免费一在线| 91在线色戒在线| 久久躁日日躁aaaaxxxx| 久久精品视频网站| 日本精品性网站在线观看| 国产精品视频xxxx| 亚洲最大中文字幕| 日韩一区二区在线视频| 97久久精品人人澡人人爽缅北| 中文日韩电影网站| 欧美日韩国产va另类| 欧美最猛黑人xxxx黑人猛叫黄| 精品国产电影一区| 国内自拍欧美激情| 欧美激情一级精品国产| 国产精品色婷婷视频| 国产精品视频yy9099| 色综合影院在线| 亚洲女人初尝黑人巨大| 日韩成人中文字幕在线观看| 亚洲第一网站男人都懂| 成人精品久久一区二区三区| 国产精品嫩草视频| 亚洲综合精品一区二区| 91久久久久久久| 国产美女精品免费电影| 亚洲va久久久噜噜噜久久天堂| 亚洲国产欧美精品| 成人黄色免费片| 日韩国产在线看| 日韩免费在线免费观看| 日韩在线视频免费观看高清中文| 丝袜美腿亚洲一区二区| 亚洲天堂av高清| 亚洲国产一区自拍| 久久久久免费精品国产| 在线观看日韩视频| 久久偷看各类女兵18女厕嘘嘘| 亚洲第一精品自拍| 国产日韩欧美影视| 88xx成人精品| 久久国产精品99国产精| 日韩欧美在线视频免费观看| 午夜免费在线观看精品视频| 日韩电视剧在线观看免费网站| 亚洲精品国产综合久久| 国产自产女人91一区在线观看| 亚洲精品网址在线观看| 一区二区三区视频免费| 91丨九色丨国产在线| 国产专区欧美专区| 欧美华人在线视频| 欧美做受高潮1| 成人在线视频福利| 久久精品美女视频网站| 亚洲精品一区av在线播放| 久久69精品久久久久久久电影好| 久久在线视频在线| 亚洲男人天天操| 91亚洲人电影| 精品偷拍各种wc美女嘘嘘| 中文综合在线观看| 亚洲性69xxxbbb| 亚洲va久久久噜噜噜久久天堂| 欧美极品第一页| 国产99久久精品一区二区| 亚洲一区久久久| 国产精品亚洲片夜色在线| 久久成人精品一区二区三区| 日韩av不卡在线| 国产suv精品一区二区| 555www成人网| 日韩欧美精品中文字幕| 亚洲人在线视频| 国产精品入口日韩视频大尺度| 国产成人精品a视频一区www| 亚洲精品欧美日韩| 亚洲精品aⅴ中文字幕乱码| 欧美孕妇与黑人孕交| 欧美性色视频在线| 91视频九色网站| 国产一区视频在线| 国产美女高潮久久白浆| 欧美色道久久88综合亚洲精品|