C语言之easyX

news/2025/2/20 21:29:41/

目录

概要

easyX%E6%95%B4%E4%BD%93%E6%9E%B6%E6%9E%84-toc" name="tableOfContents" style="margin-left:40px">easyX整体架构

图形绘制

画布宽高

圆形

图片的贴图

加载图像

游戏框架


概要

easyX是一个轻量级的图形库,用于在Windows平台上进行简单的2D图形绘制。它提供了一组简单易用的函数,可以方便地绘制基本的图形元素,如线条、矩形、圆形等,也支持载入和显示图片,并提供了简单的交互功能,如键盘和鼠标事件的处理。easyX的设计目标是快速上手和简单易用,适合初学者学习图形编程和游戏开发。

easyX%E6%95%B4%E4%BD%93%E6%9E%B6%E6%9E%84" name="easyX%E6%95%B4%E4%BD%93%E6%9E%B6%E6%9E%84">easyX整体架构

#include<graphics.h>//打开模块
#include<stdlib.h>
//结构
int main()
{//1创建一个绘图窗口//init初始化 graph图形initgraph(800,600);system("pause");return 0;
}

图形绘制

画布宽高

#include <graphics.h> 
#include <stdio.h>
int main  ()
{initgraph(300, 400,EW_SHOWCONSOLE);//创建300*400的窗口printf("窗口绘图区的宽 %d 窗口的高 %d",getwidth(),getheight());system("pause");//暂停: 避免窗口自动关闭return 0;
}

圆形

circle:这个函数用于画无填充的圆。

void circle(int x,int y,int radius
);

参数

x:圆心 x 坐标。

y:圆心 y 坐标。

radius:圆的半径。

返回值:无

备注:该函数使用当前画线样式绘制无填充的圆。

#include<graphics.h>//打开模块
#include<stdlib.h>
//结构
int main()
{//1创建一个绘图窗口//init初始化 graph图形initgraph(800,600);//绘图 //默认蓝绿红//setlinecolor(0x87a311);setlinecolor(RED);setlinestyle(PS_DASHDOTDOT, 3);//虚 点点 线setfillcolor(GREEN);setfillstyle(BS_HATCHED, HS_DIAGCROSS);//斜网格线填充for (int i = 10; i >=1; i--){//circle(400, 300, 20*i);fillcircle(400, 300, 20*i);//实心圆有边//solidcircle(400, 300, 20*i);//实心圆没有边}system("pause");return 0;
}

图片的贴图

加载图像

#include <graphics.h>//包含:图像库头文件
int main()
{initgraph(400, 400);//创建300*400的窗口//按图片默认大小加载IMAGE img1;loadimage(&img1, L".\\image\\鱼_0.png");//从硬盘任意位置加载图像,并默认图像大小 ,L:双字节字符的前缀putimage(10, 20, &img1);// 图片等比缩放加载IMAGE img2;loadimage(&img2, L".\\image\\鱼_0.png", 100, 50, false);//从硬盘任意位置加载图像,并按100宽50高的像素空间缩放。  false代表等比缩放 不拉伸putimage(10, 180, &img2);// 图片拉伸加载IMAGE img3;loadimage(&img3, L".\\image\\鱼_0.png", 100, 100, true);//从硬盘任意位置加载图像,并按100宽50高的像素空间缩放。  true代表拉伸putimage(10, 250, &img3);system("pause");//暂停: 避免窗口自动关闭return 0;
}

游戏框架

小结

通过不断地练习和实践,相信你可以快速掌握easyX图形界面编程,为以后的项目开发奠定良好的基础。祝你学习顺利!


http://www.ppmy.cn/news/1573377.html

相关文章

.Net9.0访问MSSQL数据库读取表中数据行

1.表结构与表中数据 查询记录语句&#xff1a; SELECT TOP (1000) [StatusName],[StatusValue],[StatusString],[StatusTip],[StatusDescription],[SortID]FROM [WHQJAccountsDB].[dbo].[SystemStatusInfo] 查询总记录数语句&#xff1a; select count(SortID) as row_count f…

Ubuntu下mysql主从复制搭建

本文介绍mysql 8.4主从集群的搭建&#xff0c;从单个机器安装到集群的配置&#xff0c;整体走了一遍&#xff0c;希望对大家有帮助。mysql 8.4和之前的版本命令上有些变化&#xff0c;大家用来参考。 0、环境 ubuntu&#xff1a; 22.04mysql&#xff1a;8.4 1、安装mysql 1…

2025年AI免费大战:从DeepSeek到GPT-5的商业逻辑与行业变革

引言&#xff1a;人工智能行业的2025年重大转折 2025年伊始&#xff0c;人工智能行业的竞争格局发生了深刻变化&#xff0c;尤其是以DeepSeek为代表的新兴力量&#xff0c;通过低成本开源策略迅速崛起&#xff0c;迫使OpenAI、百度文心一言等人工智能巨头纷纷调整策略&#xf…

AWS Lambda自动化部署流程指南

本文详细介绍从代码开发到AWS Lambda部署的完整自动化流程。 一、流程概览 © ivwdcwso (ID: u012172506) 1.1 流程图 #mermaid-svg-K7NI3p8n1wqwExc1 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-K7NI3p8…

Spring Boot(8)深入理解 @Autowired 注解:使用场景与实战示例

搞个引言 在 Spring 框架的开发中&#xff0c;依赖注入&#xff08;Dependency Injection&#xff0c;简称 DI&#xff09;是它的一个核心特性&#xff0c;它能够让代码更加模块化、可测试&#xff0c;并且易于维护。而 Autowired 注解作为 Spring 实现依赖注入的关键工具&…

相亲说shell运行原理和操作系统初涉及

shell命令以及运行原理 shell概念&#xff1a; 我们所学习的Linux操作系统广义上其实分为两个部分&#xff1a;Linux内核和外壳程序 Linux内核&#xff1a;也被称为狭义上的操作系统 外壳程序&#xff1a;就是对我们写的命令行向Linux内核进行翻译&#xff0c;也叫做shell(…

2025 年 1 月公链行业研报:比特币主导地位强化

2025 年 1 月公链行业研报 作者&#xff1a;Stella L (stellafootprint.network) 数据来源&#xff1a;Footprint Analytics 公链研究页面 2025 年 1 月&#xff0c;加密市场总市值增长 7.2% 至 2.8 万亿美元&#xff0c;主要区块链平台表现分化。在新的监管政策与人工智能基…

day11_实时类标签和ElasticSearch高级

文章目录 day11_实时类标签和ElasticSearch高级一、实时代码重构&#xff08;掌握&#xff09;1、重构思路2、基类2.1 ETL基类2.2 指标统计基类2.3 标签计算基类2.4 继续往上抽取爷爷类&#xff08;扩展&#xff09; 3、重构后的代码3.1 Nginx日志3.2 用户行为日志3.3 转换率标…