C++基础知识分享.pdfVIP

  1. 1、本文档共131页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C++基础知识分享 目录 C++基础知识分享 1 BMP图片格式分析(超详细) 2 C++ STL简介 9 C++ 初始化列表详解 12 C++ 异常机制详解 16 C++ 深入理解模板实现多态思想 C++实现图片格式转换 33 C++实现窗口截图 35 C/C++ string介绍(非常详细) C/C++ 正则表达式 regex库介绍(详细版) C/C++ 获取当前时间(最全方法) C/C++ 遍历文件夹(最全方法) C/C++宽窄字符转换与输出(多种方法) C/C++文件读写(最全方法,多种实现) C/C++智能指针详解 C/C++网络编程详解(Windows版) BMP图片格式分析(超详细) BMP图片格式分析(超详细) 文章目录 前言 一、BMP格式概览 二、实战分析bmp图片数据 前言 对学习C++感兴趣的可以看看这篇文章哦:C/C++教程 BMP图片大家见的应该也比较多,它是一种非常基本的图片格式 因为最近对C++生成二维码比较感兴趣,用第三方库可以很容易得到二维码的信息 但还需要将生成的二维码源数据保存为图片,而BMP结构稍微简单一点,所以便研究了一下 一、BMP格式概览 BMP文件格式还是比较简单的,总共分为四部分: 1. BITMAPFILEHEADER结构体, 2. BITMAPINFOHEADER结构体, 3. RGBQUAD结构体(这个结构体可以有,也可以没有), 4. DIB数据区。(Device-Independent Bitmap,设备无关位图)。 在继续探究这些格式之前,我们还需要明白一个概念,即:RGB (Red,Green,Blue)三原色,我 们图片中的像素就是用这三种颜色构成的 我们常看到的8位色,16位色,24位色和32位色这些,实际指的就是用多少位来表示一个颜色(又 称位深度) 位 指的是二进制的一位,一个字节(char)有8位 第 1 页 /共 129 页 BMP图片格式分析(超详细) 8 以8位色为例,即一个char,可以表示的范围为:0 - 2 -1,即256种颜色,如果是1位色,那就只 能表示两个颜色,即黑白图片 目前主流的是24位色和32位色,所以这里不讨论8位数和16位色 事实上第三个结构体RGBQUAD就是为8位、16位色等较低位数准备的,使用起来也更麻烦 本文以24位色为主。即RGB三原色,各占8位大小,即各占一个字节 如果是32位,则RGB三原色各占8位,还剩下8位用于描述透明度的,即:rgba最后的a, Alpha透明度 综上,我们需要了解的就只有前两个结构体,和最后的DIB数据区了 首先来看第一个结构体定义: typedef struct tagBITMAPFILEHEADER { WORD bfType; //BMPBM0x4d42 DWORD bfSize; // WORD bfReserved1; // WORD bfReserved

文档评论(0)

IT文档大师 + 关注
实名认证
文档贡献者

IT架构师、码农、自由职业者

1亿VIP精品文档

相关文档