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

 更新时间:2022年12月21日 09:20:00   作者:编程小鱼六六六  
这篇文章主要为大家详细介绍了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);
}

到此这篇关于C语言利用EasyX绘制小企鹅表情包的文章就介绍到这了,更多相关C语言EasyX绘制表情包内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • opencv平均背景法详解

    opencv平均背景法详解

    这篇文章主要为大家详细介绍了opencv平均背景法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • C语言实现括号匹配的方法

    C语言实现括号匹配的方法

    这篇文章主要介绍了C语言实现括号匹配的方法,文中代码简单易懂,方便大家更好的学习,感兴趣的朋友可以参考下
    2020-06-06
  • 关于C++为什么不加入垃圾回收机制解析

    关于C++为什么不加入垃圾回收机制解析

    C++为什么不加入垃圾回收机制呢?现在肯定还有很多人不太了解,不过没关系,下面小编就为大家详细的介绍下究竟C++为什么不加入垃圾回收机制。一起跟随小编过来看看吧
    2017-01-01
  • 用32位int型变量表示单引号括起来的四个字符的深入探讨

    用32位int型变量表示单引号括起来的四个字符的深入探讨

    本篇文章是对用32位int型变量表示单引号括起来的四个字符进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • C语言开发实现贪吃蛇小游戏

    C语言开发实现贪吃蛇小游戏

    这篇文章主要为大家详细介绍了C语言开发实现贪吃蛇小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-10-10
  • CMake中使用vcpkg的实现

    CMake中使用vcpkg的实现

    本文主要介绍了CMake中使用vcpkg的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • c++11中std::move函数的使用

    c++11中std::move函数的使用

    本文主要介绍了c++11中std::move函数的使用,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • C语言圣诞树的实现示例

    C语言圣诞树的实现示例

    本篇主要介绍了C语言圣诞树的实现示例,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • Qt串口通信开发之QSerialPort模块简单使用方法与实例

    Qt串口通信开发之QSerialPort模块简单使用方法与实例

    这篇文章主要介绍了Qt串口通信开发之QSerialPort模块简单使用方法与实例,需要的朋友可以参考下
    2020-03-03
  • C语言链表实现贪吃蛇游戏

    C语言链表实现贪吃蛇游戏

    这篇文章主要为大家详细介绍了C语言链表实现贪吃蛇游戏源码,适合C语言入门者学习阅读,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-10-10

最新评论