两个吃奶一个添下面视频_人妻第一页香蕉网_欧美xxxx少妇_妺妺窝人体色www婷婷

前面給大家講了常見的常規(guī)圖形,接下來這個圖形稍微有些復(fù)雜,但繪出的圖案更加五彩繽紛~,就是畫多邊形的函數(shù)polygon,這個函數(shù)不僅僅可以畫規(guī)則的多邊形,比如五邊形、六邊形、八邊形等等,還可以畫凹多邊形以及各種奇怪的多邊形,你都可以用它,先看看函數(shù)原型吧:

void polygon(
	const POINT *points,
	int num
);

第二個參數(shù)很簡單,表示多邊形的頂點個數(shù)。第一個參數(shù)呢,別慌,它表示的是各個頂點的坐標(biāo)

你可能會好奇const POINT *points怎么表示多個頂點的坐標(biāo)呢?原因它是一個結(jié)構(gòu)體指針。我們可以找到它的定義來看看,完整定義如下:

typedef struct tagPOINT
{
    LONG  x;
    LONG  y;
} POINT, *PPOINT, NEAR *NPPOINT, FAR *LPPOINT;

是一個結(jié)構(gòu)體指針,每個結(jié)構(gòu)體里你可以放兩個long型的x和y表示這個頂點的坐標(biāo)。

比如我定義:

POINT points[] ={{100,0},{195,69},{159,181},{41,181},{5,69}};

那么pints數(shù)組里這十個數(shù)字就分別表示5個頂點的坐標(biāo)。然后我們調(diào)用polygon函數(shù),polygon函數(shù)就會按照這五點的順序一次連線繪制。完整代碼如下:

//www.sztianhecheng.cn
#include <graphics.h>        // 引用圖形庫頭文件
#include <conio.h>
int main()
{
	POINT points[] ={{100,0},{41,181},{195,69},{5,69},{159,181}};
	//POINT points[] ={{100,0},{195,69},{159,181},{41,181},{5,69}};
        initgraph(640, 480);   // 創(chuàng)建繪圖窗口,大小為 640x480 像素\
	polygon(points,5);
	getch();            // 按任意鍵繼續(xù)
    closegraph();           // 關(guān)閉繪圖窗口
    return 0;
}

五角星1


注意,如果改變五個點的順序,則會改變圖形的形狀,比如改為:

POINT points[] ={{100,0},{195,69},{159,181},{41,181},{5,69}};

則圖案效果就變?yōu)椋?/p>

五角星2


等等,不是應(yīng)該有填充嗎?


噢對了,EasyX中圖形的繪制,都有三種,一種是畫線輪廓;第二種是有顏色填充有輪廓;第三種是有顏色填充沒有輪廓。

以圓形為例,三種函數(shù)的命名分別為:circle、fillcircle、solidcircle。注意三個函數(shù)的命名規(guī)則

那么類似的,畫多邊形的三個函數(shù)也分別為polygon、fillpolygon、solidpolygon。比如前面的例子就是polygon畫的,如果想加顏色,不帶外面的輪廓,則可以調(diào)用solidpolygon函數(shù),參數(shù)都不變,代碼如下:

//www.sztianhecheng.cn
#include <graphics.h>        // 引用圖形庫頭文件
#include <conio.h>
int main()
{
	//POINT points[] ={{100,0},{41,181},{195,69},{5,69},{159,181}};
	POINT points[] ={{100,0},{195,69},{159,181},{41,181},{5,69}};
        initgraph(640, 480);   // 創(chuàng)建繪圖窗口,大小為 640x480 像素
	setfillcolor(LIGHTRED);
	solidpolygon(points,5);
	getch();            // 按任意鍵繼續(xù)
    closegraph();           // 關(guān)閉繪圖窗口
    return 0;
}

兩種不同頂點順序的效果如下:

五角星3


另一種:

五角星4


請大家理解polygon的用法~多多嘗試

點贊(0)

C語言網(wǎng)提供由在職研發(fā)工程師或ACM藍橋杯競賽優(yōu)秀選手錄制的視頻教程,并配有習(xí)題和答疑,點擊了解:

一點編程也不會寫的:零基礎(chǔ)C語言學(xué)練課程

解決困擾你多年的C語言疑難雜癥特性的C語言進階課程

從零到寫出一個爬蟲的Python編程課程

只會語法寫不出代碼?手把手帶你寫100個編程真題的編程百練課程

信息學(xué)奧賽或C++選手的 必學(xué)C++課程

藍橋杯ACM、信息學(xué)奧賽的必學(xué)課程:算法競賽課入門課程

手把手講解近五年真題的藍橋杯輔導(dǎo)課程

Dotcpp在線編譯      (登錄可減少運行等待時間)