«

C语言如何用EasyX绘制小企鹅表情包

时间:2024-4-3 09:13     作者:韩俊     分类: Java


这篇“C语言如何用EasyX绘制小企鹅表情包”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“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);
}

标签: java

热门推荐