本次的函数都比较简单,填充区域的部分函数我们以后再来补充。为了保持本系列的完整性,我还是将其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 | 获取点的颜色。 |
void putpixel(
int x,
int y,
COLORREF color
);
//参数
//x:点的x坐标
//y:点的y坐标
//color:点的颜色
//返回值
//无
void line(
int x1,
int y1,
int x2,
int y2
);
//参数
//x1:直线的起始点的x坐标。
//y1:直线的起始点的y坐标。
//x2:直线的终止点的x坐标。
//y2:直线的终止点的y坐标。
//返回值
//无
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;
}
COLORREF getpixel(
int x,
int y
);
//参数
//x:要获取颜色的x坐标
//y:要获取颜色的y坐标
//返回值
//指定点的颜色。
void rectangle(
int left,
int top,
int right,
int bottom
);
//参数
//left:矩形左部x坐标
//top:矩形顶部y坐标
//right:矩形右部x坐标
//bottom:矩形底部y坐标
//返回值
//无
void roundrect(
int left,
int top,
int right,
int bottom,
int ellipsewidth,
int ellipseheight
);
//参数
//left:圆角矩形左部x坐标
//top:圆角矩形顶部y坐标
//right:圆角矩形右部x坐标
//bottom:圆角矩形底部y坐标
//ellipsewidth:构成圆角矩形的圆角的椭圆的宽度
//ellipseheight:构成圆角矩形的圆角的椭圆的高度
//返回值
//无
void polygon(
const POINT *points,
int num
);
//参数
//points:每个点的坐标,数组元素个数为num。该函数会自动连接多边形首尾
//num:多边形顶点的个数
//返回值
//无
void circle(
int x,
int y,
int radius
);
//参数
//x:圆心x坐标
//y:圆心y坐标
//radius:圆的半径
//返回值
//无
void ellipse(
int left,
int top,
int right,
int bottom
);
//参数
//left:椭圆外切矩形的左上角x坐标
//top:椭圆外切矩形的左上角y坐标
//right:椭圆外切矩形的右下角x坐标
//bottom:椭圆外切矩形的右下角y坐标
//返回值
//无
void pie(
int left,
int top,
int right,
int bottom,
double stangle,
double endangle
);
//参数
//left:扇形所在椭圆的外切矩形的左上角x坐标
//top:扇形所在椭圆的外切矩形的左上角y坐标
//right:扇形所在椭圆的外切矩形的右下角x坐标
//bottom:扇形所在椭圆的外切矩形的右下角y坐标
//stangle:扇形的起始角的弧度
//endangle:扇形的终止角的弧度
//返回值
//无
void arc(
int left,
int top,
int right,
int bottom,
double stangle,
double endangle
);
//参数
//left:扇形所在椭圆的外切矩形的左上角x坐标
//top:扇形所在椭圆的外切矩形的左上角y坐标
//right:扇形所在椭圆的外切矩形的右下角x坐标
//bottom:扇形所在椭圆的外切矩形的右下角y坐标
//stangle:扇形的起始角的弧度
//endangle:扇形的终止角的弧度
//返回值
//无
有关于贝塞尔曲线,需要一些数学功底和设计经验,后续我再补充。
有了上面函数的基础,下面的函数实际上想要使用也是十分简单的。就比前面的函数多了一些修饰符,“solid”表示“无边框填充”、“fill”表示“有边框填充”。如果忘记它们的参数列表,回到官方文档再看看就可以了。
后面再来补充……