使用 C 语言调用EasyX绘图库绘制小企鹅表情包,简直太可爱了!
简单分析一下,这个小企鹅的构成,主要是由黑白颜色和简单的圆与椭圆构成,也不是很复杂,如果能够通过平移它的位置和上下位置,就可以实现一个动态效果,如下是实现的效果。
源码如下:
/// // 程序名称:动态企鹅表情包 // 编译环境:Mictosoft Visual Studio 2013, EasyX_20200315 // #include<graphics.h> #include<conio.h> void QinE(int x,int y,int N); int main() { initgraph(640,480); setbkcolor(WHITE); cleardevice(); int y = 0; BeginBatchDraw(); int i = 0; int N = 0; int P = 1; while (true) { if (i > 400) { P = P*(-1); N = 1; } if (i < 0) { P = P*(-1); N = 0; } i = i + P * 3; if (i % 4 == 0) { y = 8; } else { y = 0; } QinE(i, y,N); FlushBatchDraw(); Sleep(10); cleardevice(); } EndBatchDraw(); _getch(); return 0; } void QinE(int x, int y,int N) { // 绘制头 setlinecolor(BLACK); setlinestyle(PS_SOLID,2); ellipse(43+x,279+y,229+x,436+y); arc(77+x, 310+y, 139+x, 430+y,0,4.654); arc(150+x, 310+y, 210+x, 426+y, 5.0, 3.12); setfillcolor(BLACK); solidellipse(124+x,351+y,161+x,374+y); floodfill(145+x,312+y,BLACK); solidcircle(106+x,360+y,5); // 左眼 solidcircle(184+x,366+y,5); // 右眼 if (N) { // 摇摆的手 arc(4+x,292+y,146+x,586+y,1.442,4.73); arc(197+x, 336+y, 328+x, 526+y, 1.53, 2.11); arc(240+x,285+y,403+x,661+y,2.32,4.41); } // 对称一下 else { arc(110 + 15 + x, 292 + y, 252 + 15 + x, 586 + y, 4.73, 1.72); arc(-46 + x, 336 + y, 75 + x, 526 + y, 1.03, 1.68); arc(-131 + x, 285 + y, 32 + x, 661 + y, 4.84, 0.79); } setfillcolor(RGB(213, 206, 201)); floodfill(130+x, 460+y, BLACK); }
THE END
喜欢就支持一下吧