中秋將至,這里拋磚引玉用C++和Easyx簡單的畫一個星空出來,畫完許個愿,百分百實現!呵呵呵呵
一、準備Easyx
首先我們要前往Easyx官網下載安裝程序,
下載完成后打開程序,并點擊“下一步”;
隨后選擇你的編輯器并點擊“安裝”。
二、函數介紹
我在這里簡單介紹一下幾個今天要用的函數:
1、solidcircle
這個函數用于畫無邊框的填充圓。
函數原型:
void solidcircle(
int x,
int y,
int radius
);
參數解釋:
-
x:圓心 x 坐標
-
y:圓心 y 坐標
-
radius:圓的半徑
2、setfillcolor
這個函數用于設置當前設備填充顏色。
函數原型:
void setfillcolor(COLORREF color);
參數解釋:
color:填充的顏色
3、getbkcolor
這個函數用于獲取當前設備背景色。
COLORREF getbkcolor();
4、initgraph
這個函數用于初始化繪圖窗口。
函數原型:
HWND initgraph(
int width,
int height,
int flag = NULL
);
參數解釋:
-
width:繪圖窗口的寬度
-
height:繪圖窗口的高度
-
flag:繪圖窗口的樣式,默認為 NULL。可為以下值:
5、closegraph
這個函數用于關閉繪圖窗口。
void closegraph();
6、putpixel
這個函數用于畫點。
void putpixel(
int x,
int y,
COLORREF color
);
參數
-
x:點的 x 坐標
-
y:點的 y 坐標
-
color:點的顏色
三、實現原理和代碼
這個項目的實現原理并不難,月亮就是一個無邊框的填充圓;大星星就是先畫一個圓,再在四周用背景色畫幾個圓;小星星就是在隨機位置畫點。
完整代碼如下:
void star(int x, int y) {
setfillcolor(YELLOW);
solidcircle(x, y, 20);
setfillcolor(getbkcolor());
solidcircle(x - 20, y - 20, 20);
solidcircle(x + 20, y - 20, 20);
solidcircle(x - 20, y + 20, 20);
solidcircle(x + 20, y + 20, 20);
return;
}
int main() {
srand((unsigned int)time(NULL));
initgraph(640, 480);
setfillcolor(YELLOW);
solidcircle(450, 80, 50);
star(50, 50);
star(570, 400);
star(300, 60);
star(250, 300);
star(50, 400);
for (int i = 0; i < 100; i++) {
putpixel(rand() % 640, rand() % 480, YELLOW);
}
_getch();
closegraph();
return 0;
}
效果就不放了,感興趣的可以自己運行一下,也可以自己再拓展一下。
審核編輯:湯梓紅
-
程序
+關注
關注
117文章
3795瀏覽量
81415 -
函數
+關注
關注
3文章
4346瀏覽量
62975 -
C++
+關注
關注
22文章
2114瀏覽量
73858
原文標題:如何用C++在中秋來臨之際畫一個星空(玩一下)
文章出處:【微信號:C語言學習聯盟,微信公眾號:C語言學習聯盟】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論