2022年图片浏览器知识总结.docx

上传人:C****o 文档编号:79923257 上传时间:2023-03-22 格式:DOCX 页数:9 大小:93.64KB
返回 下载 相关 举报
2022年图片浏览器知识总结.docx_第1页
第1页 / 共9页
2022年图片浏览器知识总结.docx_第2页
第2页 / 共9页
点击查看更多>>
资源描述

《2022年图片浏览器知识总结.docx》由会员分享,可在线阅读,更多相关《2022年图片浏览器知识总结.docx(9页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、精选学习资料 - - - - - - - - - 图像的编码和解码能够对数据进行压缩并大大削减其数据量是由于数据存在大量的数据冗余,即存在冗余的、 可猜测的和不必要的数据; 数据量(D)与其所表达的信息量 ( I)一般并不相等,它们之间存在如下关系:I=D-du du 0 其中, du 代表数据的冗余量,如冗余量 du=0,就不需要也不能对数据进行 有效压缩;即,需要并能够对数据进行有效压缩的条件是 du0;而图像数据中广泛存在着数据冗余;数据冗余一般有 构冗余、学问冗余;4 种形式,即统计冗余、信息熵冗余、结利用冗余进行图像数据压缩包括两个相反的过程;数据编码:即对原始图像数据进行编码,以减

2、小其数据量;数据解码: 即把编码压缩的图像数据仍原成原始的表示形式;由于数据编 码和数据解码是互逆的过程,只要争论好数据编码就能处理好数据解码;依据冗余类型的不同,人们提出了不同的数据编码方法,依据不同的动身点 可把数据编码方法进行不同的分类;(1)以对编码数据在解码后能否完全一样的仍原为原始数据为标准,可将数 据编码方法划分为如下两类;无失真编码(可逆编码) :编码数据进行解码后的数据与编码前的原始数 据完全相同,没有任何失真;有失真编码(不行逆编码) :编码数据进行解码后的数据与编码前的数据 有肯定的偏差或失真,但在视觉成效上基本相同;(2)依据数据编码的实现原理可以把数据编码划分为猜测编

3、码、变换编码、信息熵编码、亚抽样与内插编码、矢量量化编码、基于神经网络的编码、分频带编码、结构编码、基于学问的编码和混合编码等10 类;其中,信息熵编码中的哈夫曼编码( Huffman Coding)、 LZW (Lempel Ziv Welch Compression)编码、游程长度编码( Run Length Coding)和算术编码( Arithmetic Coding )都是常用 的无失真图像编码方式;由于本设计并未涉及到上述全部的编码算法,故在此不再进行一一说明,在 后面的内容中会对使用到的算法及其实现进行具体论述;BMP 图像BMP 图像,即通常所说的位图(Bitmap),是 Wi

4、ndows 系统中最为常见的 图像格式; Windows 3.0 以前的版本只支持与设备相关位图 DDB ( Device Dependent Bitmap);DDB 是一种内部位图格式,它显示的图像依运算机显示系 统的设置不同而不同,因此一般不储备为文件,与通常所说的 BMP 图像不同;在 Windows.h 中,结构体 BITMAP 定义了 DDB 位图的类型、宽度、高度、颜色格式和像素位值等,代码如下:typedef struct tagBITMAP 名师归纳总结 - - - - - - -第 1 页,共 5 页精选学习资料 - - - - - - - - - int bmType; /

5、位图类型,必需设为0 int bmWidth; 位图宽度 int bmHeight; bmBits; /位图高度 int bmWidthBytes; /位图中每一扫描行中的字节数 BYTE bmPlanes; /颜色层数 BYTE bmBitsPixel; /每一像素所占的位数 void FAR* 存放像素值内存块的地址BITMAP; DDB 中不包括颜色信息,显示时是以系统的调色板为基础进行像素的颜色映射的; Windows 只能保证系统调色板的前 20 种颜色稳固不变,所以 DDB 只能保证正确显示少于 20 色的位图; Windows SDK 供应标准的 DDB 位图操作函数;MFC 中

6、定义了 CBitmap 类来说明 DDB 位图,其中封装了与 DDB 位图操作相关的数据结构和函数;Windows 3.1 以上版本供应了对设备无关位图DIB ( Device Independent Bitmap)的支持; DIB 位图可以在不同的机器或系统中显示位图所固有的图像;相对于 DDB 而言, DIB 是一种外部位图格式,常常储备为常见的以 BMP 为后缀的位图文件 (有时也以 DIB 为后缀);因此,通常所说的 BMP 图像,即是 DIB位图;BMP 位图文件包括 4 部分,即位图文件头结构BITMAPFILEHEADER 、位图信息头结构 BITMAPINFOHEADER 、位

7、图颜色表 RGBQUAD 和位图像素数据,BMP 位图文件的结构如图 3.1 所示;位图文件头结构 BITMAPFILEHEADER 位图信息头结构 BITMAPINFOHEADER 位图颜色表 RGBQUAD 位图像素数据图 3.1 BMP 位图文件的结构下面介绍 BMP 文件头、BMP 位图信息头、颜色表这 3 个结构体在 Windows.h中的定义;1. BMP 文件头BMP 文件头含有 BMP 文件的类型、 文件的大小、 位图文件的保留字、位图数据距文件头的偏移量等信息;定义如下:typedef struct tagBITMAPFILEHEADER UINT bfType; /位图文件

8、的类型,必需为BM DWORD bfSize; /位图文件的大小,以字节为单位 UINT bfReserved1; /位图文件保留字,必需为0 UINT bfReserved2; /位图文件保留字,必需为0 DWORD bfOffBits; /位图数据距文件头的偏移量,以字节为单位 BITMAPFILEHEADER; 2. BMP 位图信息头BMP 位图信息头用于说明位图的尺寸等信息,定义如下:typedef struct tagBIMAPINFOHEADER 名师归纳总结 - - - - - - -第 2 页,共 5 页精选学习资料 - - - - - - - - - DWORD biSiz

9、e; / 本结构所占用字节数 LONG biWidth; /位图的宽度,以像素为单位 LONG biHeight; /位图的高度,以像素为单位 WORD biPlanes; /目标设备的级别,必需为1 WORD biBitCount; /每个像素所需的位数,必需是1(双色)、 /4( 16 色)、8( 256 色)或 24 (真彩色)之一 DWORD biCompression; /位图压缩类型,必需是 0 (不压缩)、 /1( BI_RLE8压缩类型)或2(BI_RLE压缩类型)之一 DWORD biSizeImage; /位图的大小,以字节为单位 LONG biXPelsPerMeter;

10、 /位图水平辨论率,每米像素数 LONG biYPelsPerMeter; /位图垂直辨论率,每米像素数 DWORD biClrUsed; /位图实际使用的颜色表中的颜色数 DWORD biClrImportant; /位图显示过程中重要的颜色数 BITMAPINFOHEADER; 3. 颜色表颜色表用于说明位图中的颜色,它有如干个表项,每一个表项是一个RGBQUAD 类型的结构,且定义一种颜色,定义如下:typedef struct tagRGBQUAD BYTE rgbBlue; /蓝色的亮度(值范畴为0255 ) BYTE rgbGreen; /绿色的亮度(值范畴为0255 ) BYTE

11、 rgbRed; /红色的亮度(值范畴为0255 ) BYTE rgbReserved; /保留,必需为0 RGBQUAD; 位图信息头和颜色表组成位图信息,typedef struct tagBITMAPINFO BITMAPINFOHEADER bmiHeader; RGBQUAD bmiColorsi; BITMAPINFO; BITMAPINFO 结构定义如下:颜色表中 RGBQUAD 结构数据的个数由 biBitCount 来确定,当 biBitCount=1、4、8 时,分别有 2、16、256 个表项;当 biBitCount=24 时,没有颜色表项;位图数据记录了位图的每一个像

12、素值,记录次序是在扫描行内从左到右、扫描行之间从下到上;位图的一个像素值所占的字节数如下:当 biBitCount=1 时, 8 个像素占 1 个字节;当 biBitCount=4 时, 2 个像素占 1 个字节;当 biBitCount=8 时, 1 个像素占 1 个字节;当 biBitCount=24 时, 1 个像素占 3 个字节;Windows 规定一个扫描行所占的字节数必需是 4 的倍数(即以 long 为单位),不足的以 0 填充,一个扫描行所占的字节数运算方法如下:DataSizePerLine=biWidth biBitCount+31/8 这是本设计中的一个关键点,无论对图像

13、进行何种变换,都要进行扫描行的 4 字节对齐;除了上述的 Windows BMP 以外,仍有一种与其结构相像,但不完全相同的 另一种 BMP 图像,即 OS/2 采纳的 BMP;其与 Windows BMP 的主要区分是位图信息结构 (信息头结构和颜色表结构)不同;而它们的图像位数据的储备方式名师归纳总结 - - - - - - -第 3 页,共 5 页精选学习资料 - - - - - - - - - 是完全一样的;本设计只争论 BMP 不进行具体分析;模块划分Windows 系统下的 BMP 图像,故对 OS/2 使用的本设计的实现基于微软的 MFC 应用程序框架,故软件也采纳了文档(Doc

14、ument)/视图(View)结构,并使用单文档界面 (Single Document Interface,简称 SDI);程序框架在响应它生成的标准用户接口“ 打开” 命令时创建文档 /视图结构,由于软件只需供应浏览的供能,因此将生成的标准框架中的“ 新建”命令禁用,其创建次序如下;步骤 1:程序启动时, WinMain 函数调用应用程序对象的 InitInstance函数,并在其中创建文档模板;步骤 2 :程序运行过程中,挑选“ 文件”|“ 打开” 命令,框架将调用CWinApp:OnFileOpen 函数,并使用已创建的文档模板创建文档;步骤 3:文档模板创建主框架窗口;步骤 4:主框架

15、窗口创建文档对应的视图;程序中文档 /视图结构的各对象交互关系如图 4.1 所示;文档模板GetDocTemplate 文档GetFirstViewPosition /GetNextView GetDocument 视图GetParentFrame GetActiveView GetActiveDocument 主框窗口名师归纳总结 图 4.1 文档 /视图结构对象交互关系4.2 所示;第 4 页,共 5 页以 MVC (Model-View-Controller )应用程序结构划分的模块如图- - - - - - -精选学习资料 - - - - - - - - - Picture Viewer Model View Controller 图像解码、编码模块图像显示模块图像变换模块PCXTGABMPJPEGGIF全 屏 浏 览 OnDraw 模 块状 态 栏 信 息 显 示图 像 缩 放 模 块图 像 旋 转 模 块图 像 显 示 模 块解 码 / 编 码 模 块解/ 码编 码 模 块解 码 / 编 码 模 块模 块模 块名师归纳总结 - - - - - - -第 5 页,共 5 页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com