国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

C語言圖形編程(三、繪圖函數(shù)-01)

2019-11-17 05:41:27
字體:
供稿:網(wǎng)友
一、屏幕和視口設(shè)置與清除函數(shù)
    36. setviewport() 設(shè)置圖形視口函數(shù)
    37. clearviewport()清除圖形視口函數(shù)
    38. cleardevice() 清除屏幕函數(shù)
    39. getviewsettings() 獲取圖形視口設(shè)置函數(shù)
二、調(diào)色板和顏色函數(shù)
    40. setpalette()設(shè)置調(diào)色板函數(shù)
    41. setallpalette()設(shè)置整個調(diào)色板函
    42. setbackcolor() 設(shè)置背景顏色函數(shù)
    43. setcolor() 設(shè)置顏色函數(shù)
    44. getbkcolor() 返回背景色函數(shù)
    45. getcolor() 返回當(dāng)前繪圖顏色
    46. getmaxcolor()返回最大顏色值函數(shù)
    47. getpalette() 獲取調(diào)色板函數(shù)
    48. getpalettesize() 返回調(diào)色板大小函數(shù)
    49. getdefaultpalette() 獲取缺省調(diào)色板函數(shù)
三、屏幕位置函數(shù)
    50. getmaxx()返回最大x坐標(biāo)函數(shù)
    51. getmaxy() 返回最大y坐標(biāo)函數(shù)
    52. getx() 返回x坐標(biāo)函數(shù)
    53. gety() 返回y坐標(biāo)函數(shù)
    54. moveto()函數(shù)
    55. moverel() 相對移動函數(shù)
----------------------------------------------------


   Borland C++提供了一整套綜合性的圖形函數(shù),上節(jié)介紹了其中有關(guān)圖形顯示的函數(shù),本節(jié)介紹其中的繪圖函數(shù),下節(jié)將介紹它的圖形文本函數(shù)。
   一般繪圖時,首先要清除屏幕,設(shè)置圖形視口,設(shè)置繪圖顏色,然后在屏幕上某個位置畫點或直線或曲線等。下面給出具有這些功能的函數(shù)。

一、屏幕和視口設(shè)置與清除函數(shù)

36. setviewport() 設(shè)置圖形視口函數(shù)
功能: 函數(shù)setviewport() 設(shè)置當(dāng)前圖形視口。
用法: 函數(shù)調(diào)用方式為void setviewport(int left,int top,int right,int bottom,int clip);
說明: 參數(shù)left,top是左上角坐標(biāo),right,bottom是右下角坐標(biāo),它們都是絕對屏幕坐標(biāo)。
      傳給setviewport()的第五個參數(shù)是clip,假如clip為1,則超出視口的輸出圖形自動被裁剪掉,即所有作圖限制于當(dāng)前圖形視口之內(nèi),假如clip為0,則不做裁剪,即作圖將無限制地擴展于視口周界之外,直到屏幕邊界。若無效參數(shù)傳入setviewport(),則graphresult()函數(shù)返回值-11,先前視口設(shè)置仍有效。
      setviewport()函數(shù)的對應(yīng)頭文件為 graphics.h
返回值: 無
例: 建立對角為(6,6)和(88,88)的視口,并帶有裁剪功能:
   setviewport(6,6,88,88,1);

37. clearviewport()清除圖形視口函數(shù)
功能: 函數(shù)clearviewport()清除當(dāng)前圖形視口,并把光標(biāo)從當(dāng)前位置移到原點(0,0)。
用法: 該函數(shù)調(diào)用方式為void clearviewport(void);
說明: 此函數(shù)調(diào)用執(zhí)行后,當(dāng)前圖形視口將不復(fù)存在。
      這個函數(shù)對應(yīng)的頭文件是graphics.h
返回值: 無
例: 清除當(dāng)前圖形視口,但并非整個屏幕:
   clearviewport();

38. cleardevice() 清除屏幕函數(shù)
功能: 函數(shù)cleardevice() 清除整個屏幕,并且將當(dāng)前位置移到屏幕原點。
用法: 此函數(shù)調(diào)用方式為void cleardevice(void);
說明: 該函數(shù)類似于文本模式下的函數(shù)clrscr(),但clrscr()函數(shù)不能在圖形方式下工作;同樣cleardevice()函數(shù)不能在文本模式下工作。
      這個函數(shù)相應(yīng)的頭文件為graphics.h
返回值: 無
例: 清除當(dāng)前整個屏幕:
   cleardevice();

39. getviewsettings() 獲取圖形視口設(shè)置函數(shù)
功能: 函數(shù)getviewsettings()返回當(dāng)前圖形視口坐標(biāo)和裁剪標(biāo)志,坐標(biāo)是絕對屏幕坐標(biāo),裁剪標(biāo)志 1或 0。
用法: 此函數(shù)調(diào)用方式為void getviewsettings(strUCt viewporttype *info);
說明: 該函數(shù)執(zhí)行后,把有關(guān)當(dāng)前視口的信息裝入info指向的viewporttype型結(jié)構(gòu)中。
      viewporttype結(jié)構(gòu)定義如下:
      struct viewporttype {
         int left,top,right,bottom;
         int clipflag;
      }
   這里left,top中存放視口左上角坐標(biāo),right,bottom中存放視口右下角坐標(biāo),clipflag中存放裁剪標(biāo)志,若clipflag為1 ,執(zhí)行裁剪以防止超出視口邊界,假如clipflag為0,則不對超出邊界輸出作裁剪。
      getviewsettings()函數(shù)對應(yīng)的頭文件是graphics.h
返回值: 無
例: 顯示當(dāng)前視口角點坐標(biāo):
   struct viewporttype info;
   getviewsettings(&info);
      printf("right:%d bottom:%d/n",info.right,info.bottom);


二、調(diào)色板和顏色函數(shù)
進行圖形顯示或繪圖,除了要知道用什么顯示卡以及相應(yīng)的圖形驅(qū)動程序外,還必須了解它們支持什么樣的調(diào)色板顏色。

40. setpalette()設(shè)置調(diào)色板函數(shù)
功能: 函數(shù)setpalette()可對調(diào)色板上的顏色的色彩值重新設(shè)定。
用法: setpalette()函數(shù)調(diào)用方式為void setpalette(int value,int color);
說明: 參數(shù)value為色彩值,color為色彩值相應(yīng)的顏色名。當(dāng)需要將一顏色指定為一色彩值地,即可調(diào)用此函數(shù)來設(shè)置。

表1-7  預(yù)先定義的調(diào)色板與色彩
-----------------------------------------------------------------
調(diào)色板         色彩0         色彩1         色彩2         色彩3
-----------------------------------------------------------------
  C0            黑色         淡綠           紅淺          黃色
  C1            黑色         淡青           粉紅          白色
  C2            黑色         綠色           紅色          棕色
  C3            黑色         青色          品粉紅        淡灰色
-----------------------------------------------------------------
這個函數(shù)相對應(yīng)的頭文件為graphics.h
返回值: 無

41. setallpalette()設(shè)置整個調(diào)色板函數(shù)
功能: 函數(shù)setallpalette()對某個調(diào)色板上的所有顏色重新設(shè)定彩色值。
用法: 函數(shù)調(diào)用方式為void setallpalette(struct palettetype *p);
說明: 在低分辨率圖形顯示模式下,該函數(shù)無效。若函數(shù)調(diào)用成功,則把p指向的palettetype結(jié)構(gòu)中的色彩值設(shè)置為當(dāng)前調(diào)色板所有顏色的新色彩值。
   palettetype結(jié)構(gòu)定義如下:
   struct palettetype {
      unsigned char size;
      signed char color[16];
   };
這里必須把size設(shè)置為調(diào)色板顏色的數(shù)目,并把每個色彩值都裝入color數(shù)組相應(yīng)元素中,然后才可用于調(diào)用函數(shù)。
      此函數(shù)對應(yīng)的頭文件是graphics.h
返回值: 無
例:把16色的EGA/VGA顯示卡調(diào)色板改為其前16種顏色:
   struct palettetype;
   int i;

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 萨迦县| 兴文县| 青田县| 长海县| 营口市| 阳山县| 沁阳市| 普宁市| 青川县| 鹤庆县| 综艺| 交城县| 吉林市| 浙江省| 阳城县| 贵定县| 德州市| 敦化市| 甘南县| 肥乡县| 宾阳县| 通化市| 南平市| 灵台县| 伊春市| 公安县| 博白县| 镇雄县| 明水县| 太和县| 屏南县| 武清区| 甘德县| 郓城县| 栖霞市| 门源| 泰来县| 东明县| 繁昌县| 金溪县| 怀化市|