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绘制表情包内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C++带有指针成员的类处理方式详解

    C++带有指针成员的类处理方式详解

    这篇文章主要为大家详细介绍了C++带有指针成员的类处理方式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • 深入了解c++数组与指针

    深入了解c++数组与指针

    这篇文章主要介绍了c++数组与指针的相关资料,帮助大家更好的理解和学习c++,感兴趣的朋友可以了解下
    2020-08-08
  • C语言数据结构之单链表的实现

    C语言数据结构之单链表的实现

    链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。本文将用C语言实现单链表,需要的可以参考一下
    2022-06-06
  • C++实现LeetCode(105.由先序和中序遍历建立二叉树)

    C++实现LeetCode(105.由先序和中序遍历建立二叉树)

    这篇文章主要介绍了C++实现LeetCode(105.由先序和中序遍历建立二叉树),本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-07-07
  • C++实现和电脑对战三子棋实例

    C++实现和电脑对战三子棋实例

    大家好,本篇文章主要讲的是C++实现和电脑对战三子棋实例,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-01-01
  • C语言函数栈帧的创建与销毁详解

    C语言函数栈帧的创建与销毁详解

    这篇文章主要为大家详细介绍了C语言函数栈帧的创建与销毁,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-02-02
  • C语言实现简单计算器

    C语言实现简单计算器

    这篇文章主要为大家详细介绍了C语言实现简单计算器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-05-05
  • 浅析C++中结构体的定义、初始化和引用

    浅析C++中结构体的定义、初始化和引用

    以下是对C++中结构体的定义、初始化和引用进行了详细的介绍,需要的朋友可以过来参考下
    2013-09-09
  • C++中sprintf()函数的使用详解

    C++中sprintf()函数的使用详解

    本篇文章是对C++中sprintf()函数的使用进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • 详解C++中inline关键字的作用

    详解C++中inline关键字的作用

    这篇文章主要为大家介绍了C++中的inline关键字,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-12-12

最新评论