首页 理论教育 Linux系统编程:最实用的基本绘图函数应用

Linux系统编程:最实用的基本绘图函数应用

时间:2023-11-16 理论教育 版权反馈
【摘要】:主要应用SDL_draw函数库绘制点、线、圆等基本图形,这里库中常用的基本绘图函数及功能如表11.5所示。表11.5常用的基本绘图函数及功能例11.2使用SDL_draw库设计一个程序,初始化视频子系统,设置显示模式为640×480,表面的色深为16位。程序文件取名为11-3.c,存放在/home/cx/SDL_draw-1.2.11下。编辑源程序代码:Draw_HLine函数说明如表11.10所示。表11.12Draw_Ellipse函数Draw_Round函数说明如表11.13所示。

Linux系统编程:最实用的基本绘图函数应用

主要应用SDL_draw函数库绘制点、线、圆等基本图形,这里库中常用的基本绘图函数及功能如表11.5所示。

表11.5 常用的基本绘图函数及功能

例11.2 使用SDL_draw库设计一个程序,初始化视频子系统,设置显示模式为640×480,表面的色深为16位。用Draw_Line函数画两条交叉的直线,一条直线起始点的坐标为(240,180),终止点的坐标为(400,300);另一条直线起始点的坐标为(400,180),终止点的坐标为(240,300)。再用Draw_Pixel函数绘制一条正弦曲线。程序文件取名为11-2.c,存放在/home/cx/SDL_draw-1.2.11下。

编辑源程序代码:

程序的编译过程与一般的SDL程序有所不同,分为三步:

#export CFLAGS="`sdl-config --cflags` -I./include"

#export LIBS="`sdl-config -libs`./src/.libs/libSDL_draw.a"

#gcc -o 11-2 11-2.c -Wall $CFLAGS $LIBS

Draw_Line函数说明如表11.6所示。

表11.6 Draw_Line函数

Draw_Pixel 函数说明如表11.7所示。

表11.7 Draw_Pixel 函数

例11.3 使用SDL_draw库设计一个程序,初始化视频子系统,设置显示模式为640*480,表面的色深为16位。画5个黄色的同心圆,圆心坐标为(320,240),最小的圆半径为5,其他圆的半径以15的大小递增。程序文件取名为11-3.c,存放在/home/cx/SDL_draw-1.2.11下。

编辑源程序代码:

Draw_Circle函数说明如表11.8所示。

表11.8 Draw_Circle函数

(www.xing528.com)

例11.4 使用SDL_draw库设计一个程序,初始化视频子系统,设置显示模式为640×480,表面的色深为16位。用Draw_Rect函数画2个矩形,一个矩形的左上角坐标是(80,180),宽和高分别是160和120,颜色为白色;另一个矩形的左上角坐标是(319,179),宽和高分别是242和122,颜色为黄色。用Draw_FillRect 函数画1个矩形,其左上角坐标是(320,180),宽和高分别是240和120,颜色为红色。程序取名为12-4.c,存放在/home/cx/SDL_draw-1.2.11下。

编辑源程序代码:

int main()

{

Draw_Rect函数说明如表11.9 所示。

表11.9 Draw_Rect函数

例11.5 使用SDL_draw库设计一个程序,初始化视频子系统,设置显示模式为640*480,表面的色深为16位。用Draw_HLine函数画一水平直线,起始点为(240,240),长度为160,颜色为白色;用Draw_VLine函数画一垂直直线,起始点为(320,180),长度为120,颜色为红色;用Draw_Ellipse函数画一椭圆,圆心为(240,180),x轴径为76,y轴径为56,颜色为蓝色;用Draw_FillEllipse填充此椭圆,用Draw_Round画一圆角矩形,左上角坐标为(322,122),宽为156,高为116,圆角的半径为10,颜色为绿色,用Draw_FillRound填充此圆角矩形。

编辑源程序代码:

Draw_HLine函数说明如表11.10所示。

表11.10 Draw_HLine函数

Draw_VLine函数说明如表11.11所示。

表11.11 Draw_VLine函数

Draw_Ellipse函数说明如表11.12所示。

表11.12 Draw_Ellipse函数

Draw_Round函数说明如表11.13所示。

表11.13 Draw_Round函数

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈