毕业论文

打赏
当前位置: 毕业论文 > 计算机论文 >

VC++局域网远程监控系统的设计与实现(5)

时间:2017-06-21 23:15来源:毕业论文
LONG biXPelsPerMeter; //位图水平分辨率,每米像素数 LONG biYPelsPerMeter; //位图垂直分辨率,每米像素数 DWORD biClrUserd; // 位图实际使用的颜色表中的颜色数 DWORD


    LONG    biXPelsPerMeter;    //位图水平分辨率,每米像素数
    LONG    biYPelsPerMeter;    //位图垂直分辨率,每米像素数
    DWORD    biClrUserd;    //    位图实际使用的颜色表中的颜色数
    DWORD    biClrImportant;    //位图显示过程中重要的颜色数
}BITMAPINFOHEADER;
3.调色板(颜色表)
调色板用于说明位图中的颜色,它有若干个表项,每一个表项是一个RGBQUAD类型的结构,定义一种颜色。RGBQUAD结构的定义如下:
Typedef struct tagRGBQUAD{
    BYTE    rgbBlue;    //蓝色的亮度(值范围为0-255)
    BYTE    rgbGreen;    //绿色的亮度(值范围为0-255)
    BYTE    rgbRed;    //红色的亮度(值范围为0-255)
    BYTE    rgbReserved;//保留字,必须为0
}RGBQUAD;
颜色表中RGBQUAN结构数据的个数由bitBitCount来确定:
(1)当bitBitCount=1,4,8时,分别有2,16,256个表项;
(2)当bitBitCount=24时,没有颜色表项。
位图信息头和颜色表组成位图信息,BITMAPINFO结构定义如下:
Typedef struct tagBIMAPINFO{
    BITMAPINFOHEADER    bmiHeader;    //位图信息头
    RGBQUAD    bmiColors[1];    //颜色表
}BITMAPINFO;
4.位图数据
位图数据记录了位图的每一个像素值,记录顺序是扫描行内从左到右,扫描行之间从下到上。位图的一个像素值所占的字节数;
(1)当bitBitCount=1时,8个像素占1个字节;
(2)当bitBitCount=4时,2个像素占1个字节;
(3)当bitBitCount=8时,1个像素占1个字节;
(4)当bitBitCount=24时,1个像素占3个字节;
Windows规定下个扫描行所占的字节数必须是4的倍数(即以long为单位),
不足的以0填充,一个扫描行所占的字节数计算方法;
    DataSizePerLine=(biWidth * biBitCount + 31)/8;    //一个扫描行所占的字节数
    DataSizePerLine = DataSizePerLine/4*4;
            //字节数必须是4的倍数位图数据的大小(不压缩情况下)
    DataSize = DataSizePerLine * biHeight;
3.2  Winsock的网络编程技术
3.2.1 Winsock的基本概念
Window Sockets规范以U.C.Berkely大学BSD UNIX中流行的Sockets接口为范例定义了一套Microsoft Windows下的网络编程接口。它不仅包含了人们所熟悉的Berkeley socket风格的库函数;也包含了一组针对Windows的扩展库函数,以使程序员能充分地利用Windows消息驱动机制进行编程。
 Window Sockets规范本意在于提供给应用程序开发者一套简单的API,并让各家网络软件供应商共同遵守。此外,在一个特定版本Windows的基础上Window Sockets也定义了一个二进制进口(API),以此来保证应用Window Sockets API的应用程序能够在任何网络软件供应商的符合Window Sockets协议的实现上工作。因此这份规范定义了应用程序开发者能够使用,并且网络软件供应商能够实现的一套库函数调用和相关语义。
遵守这套Window Sockets规范的网络软件,我们称之为Window Sockets兼容的,而Window Sockets兼容实现的提供者,我们称之为Window Sockets提供者。一个网络软件供应商必须百分之百地实现Window Sockets规范才能做到与Window Sockets贱人。
任何能够与Window Sockets兼容实现协同工作的应用程序就被认为是具有Window Sockets接口,我们称这种应用程序为Window Sockets应用程序。 VC++局域网远程监控系统的设计与实现(5):http://www.youerw.com/jisuanji/lunwen_9599.html
------分隔线----------------------------
推荐内容