vc镜像驱动截屏技术在数字语音教室中的应用毕业论文
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
密 惠 保
目录
1 绪论 1
1.1 课题来源 1
1.2 课题目的和意义 1
1.3 课题解决的问题 2
1.4 本文的组织结构 2
2 相关技术知识介绍 3
2.1镜像驱动截屏技术 3
2.1.1 Mirror driver简介 3
2.1.2 Mirror driver驱动原理 5
2.2 位图文件格式 6
2.2.1 位图文件头 7
2.2.2 位图信息头 7
2.2.3 调色板 8
2.2.4 图像数据 9
2.3 图像压缩算法 9
2.3.1 图像压缩步骤 9
2.3.1 普通JPEG压缩算法 11
3 系统模块功能的实现 13
3.1安装Mirror driver 13
3.2 屏幕捕获 16
3.2.1 全屏捕获 16
3.2.2 位图的保存 17
3.2.3 区域截屏 19
3.2.4 截屏效果 20
3.3 位图压缩及显示 22
3.3.1 按指定质量将位图压缩为JPEG图像 22
3.3.2 压缩后图像的显示 27
3.3.3 位图压缩效果 28
3.4 图像的连续显示 29
3.4.1 使用定时器SetTimer 29
3.4.2 使用Sleep( time )函数 30
3.5 图像连续显示效果 32
结论 34
致谢 35
参考文献 36 think58好,好think58
位图文件格式
使用镜像驱动技术捕获到当前屏幕的位图后,位图文件的保存顺序如下 [1]:
位图文件头BITMAPFILEHEADER → 位图信息头BITMAPINFOHEADER →
调色板RGBQUAD(真色彩没有调色板)→ 图像数据。
2.2.1 位图文件头
位图文件头BITMAPFILEHEADER
定义如下:
typedef struct tagBITMAPFILEHEADER
{
WORD bfType;
DWORD bfSize;
WORD bfReserved1;
WORD bfReserved2;
DWORD bfOffBits;
}BITMAPFILEHEADER;
•bfType 文件类型,必须是0 424D,即字符串“MB”,代表位图文件。
•bfSize 指定文件大小,包括该结构体的14个字节。其中WORD为无符号16位整数,2个字节;DWORD为无符号32位整数,4个字节。
•WORD bfReserved1,WORD bfReserved2 保留,不用考虑。
•bfOffBits 指从文件头到实际位图数据的偏移字节数,即文件头、信息头和调色板的字节之和。
2.2.2 位图信息头
位图信息头BITMAPINFOHEADER
定义如下:
typedef struct tagBITMAPFILEHEADER
{
DWORD biSize;
LONG biWidth;
LONG biHeight;
WORD biplanes;
WORD biBitCount;
DWORD biCompression;
DWORD biSizeImage;
LONG biXPelsPerMeter;
LONG biYPelsPerMeter;
DWORD biClrUsed; 内容来自think58 [资料来源:THINK58.com]
DWORD biClrImportant;
}BITMAPFILEHEADER; think58
•biSize 指该结构体的大小,DWORD为40个字节。LONG型是4个字节。
•biWidth 指图像的宽度,单位是像素。
•biHeight 指图像的高度,单位是像素。
•biplanes 必须是1。
•biBitCount 指图像数据位数。常用值有1( 色)、4( 色)、8( 色)、24( 色)、32( 色)。
•biCompression 指定位图是否压缩。如果该值等于BI_RGB,表示图像为非压缩格式(本程序只讨论这种格式)。
•biSizeImage 指图像数据的大小。BiSizeImage= biWidth* biHeight,biWidth’为大于或等于biHeight的最接近4的整倍数。如果biCompression为BI_RGB,则该项可能为零。
•biXPelsPerMeter 指目标设备的水平分辩率,单位是每米的像素个数。
•biYPelsPerMeter 指目标设备的垂直分辩率,单位是每米的像素个数。
• biClrUsed 指图像用到的颜色数,如果该数为0,则用到的颜色数为2的biBitCount次方。
•biClrImportant 指图像中重要的颜色数,如果该值为0,则认为所有的颜色都是重要的。
[资料来源:http://THINK58.com]