easyX库图形绘制相关函数(注释版)

本文介绍了easyX图形库中用于点、线、无填充及有填充图形的基本绘制函数,包括putpixel、line、polygon、circle等,并提供了代码示例,帮助读者掌握使用这些函数进行图形编程的基本方法。
摘要由CSDN通过智能技术生成

0.图形绘制相关函数概览

本次的函数都比较简单,填充区域的部分函数我们以后再来补充。为了保持本系列的完整性,我还是将其copy了过来,还望您能理解。下面的函数掌握了,基本就可以拿easyX进行绘画了。

函数或数据类型描述
putpixel画点。
line画直线。
polyline画多条连续的线。
rectangle画无填充的矩形。
roundrect画无填充的圆角矩形。
polygon画无填充的多边形。
circle画无填充的圆。
ellipse画无填充的椭圆。
pie画无填充的扇形。
arc画椭圆弧。
polybezier画三次方贝塞尔曲线。
solidrectangle画无边框的填充矩形。
solidroundrect画无边框的填充圆角矩形。
solidpolygon画无边框的填充多边形。
solidcircle画无边框的填充圆。
solidellipse画无边框的填充椭圆。
solidpie画无边框的填充扇形。
fillrectangle画有边框的填充矩形。
fillroundrect画有边框的填充圆角矩形。
fillpolygon画有边框的填充多边形。
fillcircle画有边框的填充圆。
fillellipse画有边框的填充椭圆。
fillpie画有边框的填充扇形。
clearrectangle清空矩形区域。
clearroundrect清空圆角矩形区域。
clearpolygon清空多边形区域。
clearcircle清空圆形区域。
clearellipse清空椭圆区域。
clearpie清空扇形区域。
floodfill填充区域。
getheight获取绘图区的高度。
getwidth获取绘图区的宽度。
getpixel获取点的颜色。

1.点和线

  1. 画点可以使用函数putpixel()。
void putpixel(
	int x,
	int y,
	COLORREF color
);
//参数
//x:点的x坐标
//y:点的y坐标
//color:点的颜色

//返回值
//无
  1. 画线则使用函数line()。
void line(
	int x1,
	int y1,
	int x2,
	int y2
);
//参数
//x1:直线的起始点的x坐标。
//y1:直线的起始点的y坐标。
//x2:直线的终止点的x坐标。
//y2:直线的终止点的y坐标。

//返回值
//无
  1. 若是画多条连续的直线可以使用函数
void polyline(
	const POINT *points,
	int num
);
//参数
//points:每个点的坐标,数组元素个数为num。
//num:多条线段的顶点个数。

//返回值
//无

下面我就一个例子来进行绘图

//使用例子
#include <graphics.h>
#include <cstdio>

int main()
{
    // 初始化图形窗口
    initgraph(640, 480, EX_SHOWCONSOLE);
    getchar();

    // 绘制点
    for (int i = 0; i < 50; i++)
    {
        putpixel(i * 3, i * 6, WHITE);
    }
    getchar();

    // 绘制一条线
    line(400, 600, 500, 300);
    getchar();

    // 绘制多条线
    POINT pts[] = { {50, 200}, {200, 200}, {200, 50}, {300, 60} };
    polyline(pts, 4);
    getchar();

    // 等待用户按键并关闭图形窗口
    closegraph();
    getchar();
    return 0;
}
  1. 此外,我们可以获取一个点的颜色数据,这个时候
COLORREF getpixel(
	int x,
	int y
);
//参数
//x:要获取颜色的x坐标
//y:要获取颜色的y坐标

//返回值
//指定点的颜色。

2.无填充图形

2.1.rectangle:画无填充的矩形

void rectangle(
	int left,
	int top,
	int right,
	int bottom
);
//参数
//left:矩形左部x坐标
//top:矩形顶部y坐标
//right:矩形右部x坐标
//bottom:矩形底部y坐标

//返回值
//无

2.2.roundrect:画无填充的圆角矩形

void roundrect(
	int left,
	int top,
	int right,
	int bottom,
	int ellipsewidth,
	int ellipseheight
);
//参数
//left:圆角矩形左部x坐标
//top:圆角矩形顶部y坐标
//right:圆角矩形右部x坐标
//bottom:圆角矩形底部y坐标
//ellipsewidth:构成圆角矩形的圆角的椭圆的宽度
//ellipseheight:构成圆角矩形的圆角的椭圆的高度

//返回值
//无

2.3.polygon:画无填充的多边形

void polygon(
	const POINT *points,
	int num
);
//参数
//points:每个点的坐标,数组元素个数为num。该函数会自动连接多边形首尾
//num:多边形顶点的个数

//返回值
//无

2.4.circle:画无填充的圆

void circle(
	int x,
	int y,
	int radius
);
//参数
//x:圆心x坐标
//y:圆心y坐标
//radius:圆的半径

//返回值
//无

2.5.ellipse:画无填充的椭圆

void ellipse(
	int left,
	int top,
	int right,
	int bottom
);
//参数
//left:椭圆外切矩形的左上角x坐标
//top:椭圆外切矩形的左上角y坐标
//right:椭圆外切矩形的右下角x坐标
//bottom:椭圆外切矩形的右下角y坐标

//返回值
//无

2.6.pie:画无填充的扇形

void pie(
	int left,
	int top,
	int right,
	int bottom,
	double stangle,
	double endangle
);
//参数
//left:扇形所在椭圆的外切矩形的左上角x坐标
//top:扇形所在椭圆的外切矩形的左上角y坐标
//right:扇形所在椭圆的外切矩形的右下角x坐标
//bottom:扇形所在椭圆的外切矩形的右下角y坐标
//stangle:扇形的起始角的弧度
//endangle:扇形的终止角的弧度

//返回值
//无

2.7.arc:画椭圆弧

void arc(
	int left,
	int top,
	int right,
	int bottom,
	double stangle,
	double endangle
);
//参数
//left:扇形所在椭圆的外切矩形的左上角x坐标 
//top:扇形所在椭圆的外切矩形的左上角y坐标 
//right:扇形所在椭圆的外切矩形的右下角x坐标 
//bottom:扇形所在椭圆的外切矩形的右下角y坐标
//stangle:扇形的起始角的弧度 
//endangle:扇形的终止角的弧度

//返回值
//无

2.8.polybezier:画三次方贝塞尔曲线

有关于贝塞尔曲线,需要一些数学功底和设计经验,后续我再补充。

3.有填充图形

有了上面函数的基础,下面的函数实际上想要使用也是十分简单的。就比前面的函数多了一些修饰符,“solid”表示“无边框填充”、“fill”表示“有边框填充”。如果忘记它们的参数列表,回到官方文档再看看就可以了。

3.1.有填充无边框图形

  1. solidrectangle:画无边框的填充矩形
  2. solidroundrect:画无边框的填充圆角矩形
  3. solidpolygon:画无边框的填充多边形
  4. solidcircle:画无边框的填充圆
  5. solidellipse:画无边框的填充椭圆
  6. solidpie:画无边框的填充扇形

3.2.有填充有边框图形

  1. fillrectangle:画有边框的填充矩形
  2. fillroundrect:画有边框的填充圆角矩形
  3. fillpolygon:画有边框的填充多边形
  4. fillcircle:画有边框的填充圆
  5. fillellipse:画有边框的填充椭圆
  6. fillpie:画有边框的填充扇形

4.填充区域相关

后面再来补充……

  • 6
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

limou3434

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值