|
|
发表于 2007-1-25 13:25:14
|
显示全部楼层
== RH7.3系统接触 svgalib 2 ==
--------------------------
a 尝试编写svgalib相关程式
-------------------
svgalib图形库接口需要root权限操作
$ su -
#
查看文档,试编写并执行程式。‘man svgalib’查看图形库文档,查看相关函数文档,如‘man vga_drawline’
# man vga_drawline
[ 该文档描述vga_drawline函数需要 vga.h 头文件,格式是vga_drawline(x1,y1,x2,y2) 。效果是在屏幕上画出一条x1,y1 至 x2,y2 的直线 。]
参考并编写程式
# vi wei_r_s1.c
-------------------------------
#include <vga.h>
int main()
{
vga_init();
vga_setmode(G800x600x256);
vga_setcolor(5);
vga_drawline(50,50,350,350);
vga_getch();
vga_setmode(TEXT);
return 0;
}
-------------------------------
编译
# gcc wei_r_s1.c -o wei_r_s1 -lvga
控制台操作
# ./wei_r_s1
注:该程式意思是需要包含vga.h头文件,vga_init初始化svgalib环境,vga_setmode设置显示模式,vga_setcolor设置颜色代号,vga_drawline画线指令,vga_getch()按任何键触发以下指令,vga_setmode(TEXT)返回控制台的文本模式。
b 尝试编写svgalib相关程式
# vi wei_r_s2.c
-------------------------------
#include <stdio.h>
#include <vga.h>
int main()
{
int i,j,w;
vga_init();
vga_setmode(G800x600x256);
for(w=1;w<8;w++)
{
vga_setcolor(w);
for(i=120;i<481;i=i+40)
{
vga_drawline(220,i,580,i);
j=i+100;
vga_drawline(j,120,j,480);
}
vga_getch();
}
vga_setmode(TEXT);
return 0;
}
-------------------------------
# gcc wei_r_s2.c -o wei_r_s2 -lvga
# ./wei_r_s2
注:该程式实现按键转换颜色,在屏幕中显示一个9x9的网格图案(程式纯属娱乐)。
[ 注:安装目录svgalib-1.4.1/demos有许多源文件提供示例研究。]
-----------
----------- |
|