EasyX 画云朵
[編輯] [转简体] (简体译文)
|
作者:huidong
| 分類:【編程】EasyX
[
9 瀏覽
0 評論
1 贊
1 踩
]
概要
画云朵,白云函数
正文
#include <easyx.h> #include <time.h> // 得到云朵图像 // img 传出图像指针 // bkColor 云朵背景色 // cloudColor 云朵颜色 // width 整个云朵的宽,由于宽高必须成比例,所以只需要设置宽即可 void DrawCloud(IMAGE* img, COLORREF bkColor = BLACK, COLORREF cloudColor = WHITE, int width = 180) { IMAGE* old = GetWorkingImage(); SetWorkingImage(img); // 比例 double ratio = width / 180.0; Resize(img, width, (int)(100 * ratio)); setbkcolor(bkColor); setfillcolor(cloudColor); setlinecolor(cloudColor); cleardevice(); fillcircle((int)(95 * ratio), (int)(40 * ratio), (int)(40 * ratio)); fillcircle((int)(85 * ratio), (int)(70 * ratio), (int)(27 * ratio)); fillcircle((int)(40 * ratio), (int)(60 * ratio), (int)(40 * ratio)); fillcircle((int)(125 * ratio), (int)(75 * ratio), (int)(25 * ratio)); fillcircle((int)(145 * ratio), (int)(40 * ratio), (int)(30 * ratio)); SetWorkingImage(old); } int main() { initgraph(640,480); srand((UINT)time(NULL)); setbkcolor(RGB(130, 210, 255)); cleardevice(); IMAGE cloud[5]; DrawCloud(&cloud[0], getbkcolor(), WHITE, 180); DrawCloud(&cloud[1], getbkcolor(), RED, 200); DrawCloud(&cloud[2], getbkcolor(), GREEN, 120); DrawCloud(&cloud[3], getbkcolor(), BLACK, 90); DrawCloud(&cloud[4], getbkcolor(), LIGHTGRAY, 230); for(int i=0;i<5;i++) putimage(rand() % 500, rand() % 350, &cloud[i]); while(true); closegraph(); return 0; }