C语言之easyX

目录

概要

easyX整体架构

图形绘制

画布宽高

圆形

图片的贴图

加载图像

游戏框架


概要

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

easyX整体架构

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

图形绘制

画布宽高

cpp 复制代码
#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:圆的半径。

返回值:无

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

cpp 复制代码
#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;
}

图片的贴图

加载图像

cpp 复制代码
#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图形界面编程,为以后的项目开发奠定良好的基础。祝你学习顺利!

相关推荐
froginwe113 分钟前
R 基础运算
开发语言
醉城夜风~3 分钟前
[数据结构]堆详解
开发语言·数据结构
17´30 分钟前
Qt从入门到入土(八) -打包Qt程序
开发语言·c++·qt
AI+程序员在路上31 分钟前
QT显示网页控件QAxWidget、QWebEngineView及区别
开发语言·qt
南玖yy36 分钟前
C语言柔性数组深度解析:动态内存管理的艺术
c语言·开发语言·柔性数组
2301_764441331 小时前
python实现的生态模拟系统
开发语言·python·pygame
无世世1 小时前
【Java从入门到起飞】面向对象编程(高级)
java·开发语言
q567315231 小时前
使用CPR库编写的爬虫程序
开发语言·爬虫·golang·音视频
星之卡比*1 小时前
前端0基础---day18Math - Date - 定时器 (javascript)
开发语言·前端·javascript
星辰tsy1 小时前
JS内存泄漏问题
开发语言·javascript