easyx的使用

1. 创建图像和画布

IMAGE image;定义一个IMAGE叫做image

loadimage(&image, _T(“路径\1.jpg”),100,100);把路径下图片赋给image,并且拉伸为100*100 ,如果只需要加载图片到绘图窗体上, 那么请将 loadimage 的第一个参数设置为 NULL 即可,这样就不需要定义 IMAGE 对象了。

image.getwidth();//获取图片image的宽

image.getheight();//获取图片image的高

initgraph(640, 480); //创建一个640*480的画布

initgraph(w,h, SHOWCONSOLE);//创建一个画布并保留控制台

putimage(0, 0, width, high,&image,x,y);//把图像image放入画布中,并且左上角在(0,0)位置,图形的宽为width,长为high,从(x,y)处开始取图,且(width, high,x,y)可以不写

closegraph(); //关闭画布

getimage(&img,70, 70, 60, 60);//以画布上(70,70)为左上角截取长宽为(60,60)的图像放入img中

2. 文字操作

setbkcolor(YELLOW);

setbkcolor(RGB(180,24,137)); //设置文字颜色

settextstyle(30, 30, “楷体”);//设置文字格式(长,平均宽度,字体)

sprintf_s(num, “%d”,i);//把int格式的i转化为字符串形式的num,并在下一条语句中输出在画布上

outtextxy(10,10,“小猫猫”); //在(10,10)处显示文字“小猫猫”

3. 画线操作

setlinecolor(RED);//设置直线颜色为红色

setlinestyle(PS_SOLID, 10);//设置线的格式

line(30, 50, 30, 100);//划直线连接(30,50)和(30,100)

4. 画点操作

putpixel(x,y,BULE);//在图形窗口的(x,y)处显示一个颜色为蓝色的点

5. 画矩形操作

setfillcolor(RED);//设置填充色

rectangle(x,y,xx,yy);//矩形左上角坐标(x,y)、右下角坐标(xx,yy)画一个矩形

6. 画圆操作

fillcircle(x, y,r);//以(x,y)为圆心,划半径为r的圆

7. 清空画布

cleardevice();//将当前图形窗口清空,还原至背景颜色。

8. XOR模式

setwritemode(R2_XORPEN); //设置XOR绘图模式,重复画线会恢复背景颜色,颜色叠加部分有重叠效果

9. 延时操作
Sleep(100);延时100毫秒,降低CPU占有率

10. 计秒数

#include<time.h>//需要头文件

clock_t start=clock();

clock_t end=(clock()-start)/CLOCKS_PER_SEC;

11. 随机函数

#include<time.h>

int num=rand()%100;

12. 颜色:

BLACK 黑 DARKGRAY
深灰 BLUE 蓝
LIGHTBLUE 亮蓝 GREEN绿

LIGHTGREEN 亮绿 CYAN 青 LIGHTCYAN 亮青 RED 红 LIGHTRED 亮红

MAGENTA 紫 LIGHTMAGENTA 亮紫 BROWN棕 YELLOW黄 LIGHTGRAY 浅灰 WHITE 白

纯绿色 0x00ff00  RGB(0,
255, 0)

青色  0xffff00  RGB(0,
255, 255)  注:青=蓝+绿

中灰色 0x7f7f7f  RGB(127,
127, 127)

黄色  0x00ffff  RGB(255,
255, 0)  注:黄=红+绿

颜色操作:

int c = getpixel(100, 100); 获取(100,100)处的颜色并返回给c

putpixel(100, 100,c);把颜色c放到画布(100,100)处

(0xff0000 - (c & 0xff0000)) | (0x00ff00 - (c &
0x00ff00)) | (0x0000ff - (c & 0x0000ff));//底片效果

13. 键盘操作:(捕获一个键盘输入并输出)

char c;

if(kbhit())

c=getch();

14. 鼠标操作:

MOUSEMSG msg; //定义一个鼠标消息

msg=GetMouseMsg();//获取鼠标消息

switch(msg.uMsg)

{

case WM_MOUSEMOVE: ……break;//鼠标移动消息

case WM_MOUSEWHEEL: ……break;//
鼠标滚轮拨动消息

case WM_LBUTTONDOWN: ……break;//
左键按下消息

case WM_MBUTTONDOWN: ……break;//
中键按下消息

case WM_RBUTTONDOWN: ……break;//
右键按下消息

}

Ps:在此例中可用msg.x和msg.y来确定鼠标位置

WM_MOUSEMOVE 鼠标移动消息

WM_MOUSEWHEEL 鼠标滚轮拨动消息

WM_LBUTTONDOWN 左键按下消息

WM_LBUTTONUP 左键弹起消息

WM_LBUTTONDBLCLK 左键双击消息

WM_MBUTTONDOWN 中键按下消息

WM_MBUTTONUP 中键弹起消息

WM_MBUTTONDBLCLK 中键双击消息

WM_RBUTTONDOWN 右键按下消息

WM_RBUTTONUP 右键弹起消息

WM_RBUTTONDBLCLK 右键双击消息

C语言图形库——easyx的使用相关推荐

  1. C语言图形库EasyX安装及基本使用

    本文章介绍C++用EasyX进行C++基础图形编程介绍. EasyX安装: 1.点击上方超链接,进入官网,点击右侧下载EasyX 2.点击下载后的可执行文件: 3.EasyX安装非常简单,进入可执行文 ...

  2. C语言图形库——EasyX常用函数

    上节讲到贴出一张图片的过程,本节接着介绍一些基本的图形库函数. 头文件 #include <graphics.h> 1.图形窗口背景颜色设置函数: 例 setbkcolor(YELLOW) ...

  3. c语言使用easyX图形库制作打气球小游戏

    大一c语言使用easyX图形库制作打气球小游戏 如果你是入门easyX图形库,那么这个打气球小游戏将会是和不错的入门项目选择,easyX开创了可视化窗口,使用户更加直观的了解到对象的变化,总代码以及素 ...

  4. 用C语言图形库画一个红色爱心

    这次我教大家用代码画一个心,这样你们就可以送给你们的女(男)朋友了.没找到对象的也可以用来表白啊. 1.首先,我去百度找了心形线的函数,如下: 2. 联系高中的数学知识,我们知道:f(x)>0和 ...

  5. c语言图形库三角形,Flappy Bird C语言实现及C图形库Easyx的使用

    学习Eaxy X图形库后我的成果: 花了一周时间做出并完善了Flappy Bird,目前功能如下: 1. 背景的显示 2. 加入小鸟image 3. 小鸟自由下落,按空格键/鼠标右键后上升 4. 加入 ...

  6. 学完C语言可以学什么--C/C++图形库Easyx(万字教程,一文入门)

    EasyX图形库教程 本文的封面第三章照片来自博客:爱心气球 文章目录 EasyX图形库教程 前言 1.EasyX是什么? 2.EasyX的安装 开始教程 1.基本概念 1.1颜色 1.2坐标 2.创 ...

  7. 停车场管理系统 C语言实现 EasyX图形库

    一.设计目的 软件算法综合设计是理论教学的深化和补充,具有较强的实践性,是电气信息类各专业的一门重要的实践环节必修课,涵盖<程序设计基础>.<离散结构>.<面向对象程序设 ...

  8. 带有easyx图库的C语言程序,EasyX软件下载-EasyX(C++图形库)下载v20200902 官方版-西西软件下载...

    EasyX是一款实用的C++图形库,为广大C语言爱好者提供强大的图形和游戏编程.EasyX的主要特色是为C语言和C++语言提供了通俗易懂易操作的绘图接口,提升编程效率的同时又大大减轻了编程难度,Eas ...

  9. C语言调用easyX图形库画圆盘时钟

    #include<graphics.h> #include<stdio.h> #include<time.h> #include<math.h>#def ...

  10. c语言基于easyX樱花特效,C++基于easyx图形库实现推箱子游戏

    本文实例为大家分享了C++实现推箱子游戏的具体代码,供大家参考,具体内容如下 头文件: #include #include //#include #include #include #include ...

最新文章

  1. ecs服务器配置git_基于ECS和NAS搭建个人网盘
  2. python之禅中文-python之禅-----我最喜欢的翻译版
  3. minicap_工具使用
  4. 为什么python打包的应用那么大_浅谈python3打包与拆包在函数的应用详解
  5. 七个你没用过的炫酷开发工具推荐
  6. 腾讯云前端性能优化大赛火热招募中!
  7. 刚接触git,提交文件时,遇到no changes added to commit
  8. 我从Kaggle机器学习竞赛中获得的经验
  9. 【华为大咖分享】1.云上开发,代码托管只是第一步(后附PPT下载地址)
  10. L1-078 吉老师的回归 (15 分)-PAT 团体程序设计天梯赛 GPLT
  11. linux用c++获取mac地址,网卡地址,网口地址,网卡序号ip地址,不使用 ioctl(sock, SIOCGIFCONF, ifc)获取网络接口名称,这个接口有时会返回-1获取不到,换方法获取
  12. 界面无小事(六):来做个好看得侧拉菜单!
  13. SparkStreaming自定义Receiver
  14. jenkins-启动和关闭服务
  15. 浅谈c++纯虚函数的多态与数据隐藏
  16. Hadoop安装教程方式
  17. NVIDIA显卡驱动的重装
  18. python wow自动打怪脚本官方教程_【按键精灵】魔兽世界LR 自动打怪脚本
  19. Msfvenom建立后门程序指令及开启监听
  20. 阿里云有奖调查结果公布,赠送10个阿里巴巴logo胸针

热门文章

  1. Java十大常用框架介绍
  2. 如何用 latex 排版日文 (xelatex)
  3. 如何安装PyAudio
  4. 获取汉字的拼音简码方法(仅适用于国标一级汉字)
  5. GNS3+JunOS
  6. 计算机网络毕业论文格式模板范文,计算机网络论文范文 计算机网络方面有关毕业论文的格式范文2万字...
  7. 学习笔记——激励函数activation func、损失函数loss func
  8. 加热垫美国站UL130测试项目及周期
  9. winform直接控制云台_Snoppa Vmate掌上防抖云台相机深度评测:日常视频轻松直出...
  10. Cisco Packet Tracer交换机划分VLAN