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

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

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

2019-11-17 05:41:30
字體:
供稿:網(wǎng)友
四、圖形和圖像函數(shù)
(一) 像素函數(shù)
    56. putpiel() 畫像素點(diǎn)函數(shù)
    57. getpixel()返回像素色函數(shù)
(二) 直線和線型函數(shù)
    58. line() 畫線函數(shù)
    59. lineto() 畫線函數(shù)
    60. linerel() 相對(duì)畫線函數(shù)
    61. setlinestyle() 設(shè)置線型函數(shù)
    62. getlinesettings() 獲取線型設(shè)置函數(shù)
    63. setwritemode() 設(shè)置畫線模式函數(shù)
(三)、多邊形函數(shù)
    64. rectangle() 畫矩形函數(shù)
    65. bar() 畫條函數(shù)
    66. bar3d() 畫條塊函數(shù)
    67. drawpoly() 畫多邊形函數(shù)
(四)、 圓、弧和曲線函數(shù)
    68. getaspectratio()獲取縱橫比函數(shù)
    69. circle()畫圓函數(shù)
    70. arc() 畫圓弧函數(shù)
    71. ellipse()畫橢圓弧函數(shù)
    72. fillellipse() 畫橢圓區(qū)函數(shù)
    73. pieslice() 畫扇區(qū)函數(shù)
    74. sector() 畫橢圓扇區(qū)函數(shù)
    75. getarccoords()獲取圓弧坐標(biāo)函數(shù)
(五)、 填充函數(shù)
    76. setfillstyle() 設(shè)置填充圖樣和顏色函數(shù)
    77. setfillpattern() 設(shè)置用戶圖樣函數(shù)
    78. floodfill() 填充閉域函數(shù)
    79. fillpoly() 填充多邊形函數(shù)
    80. getfillsettings() 獲取填充設(shè)置函數(shù)
    81. getfillpattern() 獲取用戶圖樣設(shè)置函數(shù)
(六)、圖像函數(shù)
    82. imagesize() 圖像存儲(chǔ)大小函數(shù)
    83. getimage() 保存圖像函數(shù)
    84. putimage() 輸出圖像函數(shù)



四、圖形和圖像函數(shù)
   對(duì)許多圖形應(yīng)用程序,直線和曲線是非常有用的。但對(duì)有些圖形只能靠操作單個(gè)像素才能畫出。當(dāng)然假如沒有畫像素的功能,就無法操作直線和曲線的函數(shù)。而且通過大規(guī)模使用像素功能,整個(gè)圖形就可以保存、寫、擦除和與屏幕上的原有圖形進(jìn)行疊加。
(一) 像素函數(shù)

56. putpixel() 畫像素點(diǎn)函數(shù)
功能: 函數(shù)putpixel() 在圖形模式下屏幕上畫一個(gè)像素點(diǎn)。
用法: 函數(shù)調(diào)用方式為void putpixel(int x,int y,int color);
說明: 參數(shù)x,y為像素點(diǎn)的坐標(biāo),color是該像素點(diǎn)的顏色,它可以是顏色符號(hào)名,也可以是整型色彩值。
       此函數(shù)相應(yīng)的頭文件是graphics.h
返回值: 無
例: 在屏幕上(6,8)處畫一個(gè)紅色像素點(diǎn):
   putpixel(6,8,RED);

57. getpixel()返回像素色函數(shù)
功能: 函數(shù)getpixel()返回像素點(diǎn)顏色值。
用法: 該函數(shù)調(diào)用方式為int getpixel(int x,int y);
說明: 參數(shù)x,y為像素點(diǎn)坐標(biāo)。
       函數(shù)的返回值可以不反映實(shí)際彩色值,這取決于調(diào)色板的設(shè)置情況(參見setpalette()函數(shù))。
       這個(gè)函數(shù)相應(yīng)的頭文件為graphics.h
返回值: 返回一個(gè)像素點(diǎn)色彩值。
例: 把屏幕上(8,6)點(diǎn)的像素顏色值賦給變量color。
   color=getpixel(8,6);

(二) 直線和線型函數(shù)
   有三個(gè)畫直線的函數(shù),即line(),lineto(),linerel()。這些直線使用整型坐標(biāo),并相對(duì)于當(dāng)前圖形視口,但不一定受視口限制,假如視口裁剪標(biāo)志clip為真,那么直線將受到視口邊緣截?cái)啵患偃鏲lip為假,即使終點(diǎn)坐標(biāo)或新的當(dāng)前位置在圖形視口或屏幕極限之外,直線截?cái)嗟狡聊粯O限。
   有兩種線寬及幾種線型可供選擇,也可以自己定義線圖樣。下面分別介紹直線和線型函數(shù)。

58. line() 畫線函數(shù)
功能: 函數(shù)line()使用當(dāng)前繪圖色、線型及線寬,在給定的兩點(diǎn)間畫一直線。
用法: 該函數(shù)調(diào)用方式為void line(int startx,int starty,int endx,int endy);
說明: 參數(shù)startx,starty為起點(diǎn)坐標(biāo),endx,endy為終點(diǎn)坐標(biāo),函數(shù)調(diào)用前后,圖外形態(tài)下屏幕光標(biāo)(一般不可見)當(dāng)前位置不改變。
       此函數(shù)相應(yīng)的頭文件為graphics.h
返回值: 無
例: 見函數(shù)60.linerel()中的實(shí)例。

59. lineto() 畫線函數(shù)
功能: 函數(shù)lineto()使用當(dāng)前繪圖色、線型及線寬,從當(dāng)前位置畫一直線到指定位置。
用法: 此函數(shù)調(diào)用方式為void lineto(int x,int y);
說明: 參數(shù)x,y為指定點(diǎn)的坐標(biāo),函數(shù)調(diào)用后,當(dāng)前位置改變到指定點(diǎn)(x,y)。
       該函數(shù)對(duì)應(yīng)的頭文件為graphics.h
返回值: 無
例: 見函數(shù)60.linerel()中的實(shí)例。

60.linerel() 相對(duì)畫線函數(shù)
功能: 函數(shù)linerel() 使用當(dāng)前繪圖色、線型及線寬,從當(dāng)前位置開始,按指定的水平和垂直偏移距離畫一直線。
用法: 這個(gè)函數(shù)調(diào)用方式為void linerel(int dx,int dy);
說明: 參數(shù)dx,dy分別是水平偏移距離和垂直偏移距離。
       函數(shù)調(diào)用后,當(dāng)前位置變?yōu)樵黾悠凭嚯x后的位置,例如,原來的位置是(8,6),調(diào)用函數(shù)linerel(10,18)后,當(dāng)前位置為(18,24)。
返回值:無
例: 下面的程序?yàn)楫嬀€函數(shù)調(diào)用實(shí)例:
#include<graphics.h>
void main()
{
   int driver,mode;
   driver=DETECT;
   mode=0;
   initgraph(&driver,&mode,"");
   setcolor(15);
   line(66,66,88,88);
   lineto(100,100);
   linerel(36,64);
   getch();
   restorecrtmode();
}

61. setlinestyle() 設(shè)置線型函數(shù)
功能: setlinestyle() 為畫線函數(shù)設(shè)置當(dāng)前線型,包括線型、線圖樣和線寬。
用法: setlinestyle() 函數(shù)調(diào)用方式為void setlinestyle(int stly,unsigned pattern,int width);
說明: 參數(shù)style為線型取值,也可以用相應(yīng)名稱表示,如表1-10中所示。
       參數(shù)pattern用于自定義線圖樣,它是16位(bit)字,只有當(dāng)style=USERB99v_LINE(值為1)時(shí),pattern的值才有意義,使用用戶自定義線圖樣,與圖樣中“1”位對(duì)應(yīng)的像素顯示,因此,pattern=0xFFFF,則畫實(shí)線;pattern=0x9999,則畫每隔兩個(gè)像素交替顯示的虛線,假如要畫長虛線,那么pattern的值可為0xFF00和0xF00F,當(dāng)style不為USERB99v_LINE值時(shí),雖然pattern的值不起作用,但扔須為它提供一個(gè)值,一般取為0。
    參數(shù)wigth用來設(shè)定線寬,其取值見表1-11,表中給出了兩個(gè)值,即1和3,實(shí)際上,線寬取值為2也是可以接受的。
    若用非法參數(shù)調(diào)用setlinestyle()函數(shù),那么graphresult()會(huì)返回錯(cuò)誤代碼,并且當(dāng)前線型繼續(xù)有效。
    Turbo C提供的線型與線寬定義在頭文件graphics.h中,表1-10和1-11分別列出了參數(shù)的取值與含義。

表1-10  線型
-----------------------------------------------------
   名        稱      取 值         含    義
-----------------------------------------------------
   SOLID_LINE          0             實(shí)線
   DOTTED_LINE         1             點(diǎn)線
   CNTER_LINE          2        &


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 南涧| 汉寿县| 鄂托克前旗| 兴仁县| 上林县| 宜章县| 斗六市| 夏津县| 东乡| 祁连县| 五大连池市| 琼中| 治多县| 达尔| 错那县| 西畴县| 拉孜县| 昆山市| 静海县| 丹巴县| 漳平市| 察哈| 建昌县| 东源县| 河北省| 盘锦市| 射洪县| 定日县| 庆阳市| 阳曲县| 山东省| 兰考县| 云霄县| 宣城市| 庆安县| 神木县| 张北县| 永丰县| 揭东县| 封开县| 水富县|