欢迎来到天天文库
浏览记录
ID:45062158
大小:1.78 MB
页数:29页
时间:2019-11-08
《linux系统编程第9章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第9章Linux的图形编程本章重点使用SDL图形开发库并初始化图形模式基本绘图函数的应用图片与文字的显示动画三维绘图用SDL实现简单游戏设计29.1Linux的图形编程简介在Linux图形编程中,基于控制台的图形库主要有:SVGALib:是最早基于Linux的非X的图形支持库。FrameBuffer:出现在Linux2.2.x内核当中的一种驱动程序接口。GGI:新一代的图形支持库。可在FrameBuffer,SVGALib等设备上运行。在所有平台上提供了一致的输入设备接口,采用共享库机制,实现低层支持库的动态装载等。OpenGL:是个专业的3D程序接口,功能
2、强大,调用方便的底层3D图形库。SDL:是一个跨平台的多媒体游戏支持库,包含了对图形、声音、游戏杆、线程等的支持。39.2安装和使用SDL图形开发库系统安装时一般都已经默认安装了SDL库,如没安装,参见附录1。SDL的基本库与附加库的库名与含义:使用SDL库需要包含头文件:#include"SDL.h"编译命令为:gcc–I/usr/include/SDL–lSDL源程序名–o目标文件名-lpthread如果程序中使用了图像库和混音库,在编译的时候还需要加上相应的编译参数,分别是-lSDL_image和-lSDL_mixer。49.3初始化图形模式初始化图形
3、模式中常用函数及功能:要加载和初始化SDL库需要调用SDL_Init()函数,该函数以一个参数来传递要激活的子系统的标记。SDL_Init()函数说明:flags参数取值所对应的子系统对象:59.3初始化图形模式例9.1:初始化视频子系统,设置显示模式为640*480大小。设置初始颜色并对颜色值进行改变,使程序执行过程中背景色渐变。编写程序9-1.c,放在/home/cx/下。源程序代码:思考题:编写一个简单的SDL初始化程序:要求背景色为红色,让屏幕停留5秒。编写一个简单的SDL初始化程序:要求背景色的红、绿、兰为随机显示值,让屏幕停留10秒。69.4基本
4、绘图函数的应用主要应用SDL_draw函数库绘制点、线、圆等基本图形。常用的基本绘图函数及功能:79.4基本绘图函数的应用例9.2:使用SDL_draw库设计一个程序,初始化视频子系统,设置显示模式为640*480,表面的色深为16位,用Draw_Line函数画两条交叉的直线,一条直线起始点的坐标为(240,180),终止点的坐标为(400,300),另一条直线起始点的坐标为(400,180),终止点的坐标为(240,300)。再用Draw_Pixel函数绘制一条正弦曲线。程序名为9-2.c,存放在/home/cx/SDL_draw-1.2.11下。89.4
5、基本绘图函数的应用编辑源程序代码:[root@localhostSDL_draw-1.2.11]#gedit9-2.c编译时与一般的SDL程序有所不同,分三步。[root@localhostSDL_draw-1.2.11]#exportCFLAGS="`sdl-config--cflags`-I./include"[root@localhostSDL_draw-1.2.11]#exportLIBS="`sdl-config--libs`./src/.libs/libSDL_draw.a"[root@localhostSDL_draw-1.2.11]#gcc-
6、o9-29-2.c-Wall$CFLAGS$LIBS思考题:编写一个简单的画线程序:要求设置背景色为红色,线条颜色为绿色,绘制一个边长为120的正三角形,同时让屏幕停留8秒。线段长度无限短后就成为点,请用画线的方法画出正弦曲线。能否用画线的方法实现动画。99.4基本绘图函数的应用Draw_Line函数说明Draw_Pixel函数说明109.4基本绘图函数的应用例9.3:使用SDL_draw库设计一个程序,初始化视频子系统,设置显示模式为640*480,表面的色深为16位,画5个黄色的同心圆,圆心坐标为(320,240),最小的圆半径为5,其它圆的半径以15的
7、大小递增,程序名为9-3.c,存放在/home/cx/SDL_draw-1.2.11下。编辑源程序代码:119.4基本绘图函数的应用Draw_Circle函数说明思考题:编写一个画圆的程序:要求设置背景色为黄色,线条颜色为蓝色,以正三角形的三个顶点为圆心,半径为60画三个圆,同时让屏幕停留8秒。画一个半径渐渐增大,颜色随机变化的圆。画一个圆,此圆沿着正弦曲线运动。129.4基本绘图函数的应用例9.4:使用SDL_draw库设计一个程序,初始化视频子系统,设置显示模式为640*480,表面的色深为16位,用Draw_Rect函数画2个矩形,一个矩形的左上角坐标
8、是(80,180),宽和高分别是160和120,颜色
此文档下载收益归作者所有