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

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 
#include 

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.填充区域相关

后面再来补充……

你可能感兴趣的:(算法,开发语言,c语言)