加入BMP库,加入常见位操作

This commit is contained in:
XerolySkinner
2022-11-24 23:56:57 +08:00
parent f6b6ac1329
commit 01324e987e
709 changed files with 17019 additions and 2341 deletions

View File

@@ -0,0 +1,86 @@
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<section xmlns="http://docbook.org/ns/docbook" version="5.0" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="_bsp___b_m_p_8cpp_source" xml:lang="zh">
<title>bsp_BMP.cpp</title>
<indexterm><primary>D:/gitt/MicrochipFor32/bsp_Device/bsp_BMP.cpp</primary></indexterm>
浏览该文件的文档.<programlisting linenumbering="unnumbered"><anchor xml:id="_bsp___b_m_p_8cpp_source_1l00001"/>00001 <emphasis role="comment">/*----------------------------------------------------------------------------------------------------</emphasis>
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00002"/>00002 <emphasis role="comment">&#32;#</emphasis>
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00003"/>00003 <emphasis role="comment">&#32;#&#32;&#32;Copyright&#32;(c)&#32;2022&#32;Yuankang&#32;Liang(XerolySkinner)</emphasis>
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00004"/>00004 <emphasis role="comment">&#32;#</emphasis>
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00005"/>00005 <emphasis role="comment">&#32;#&#32;&#32;本软件按原样提供,无任何明示或暗示</emphasis>
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00006"/>00006 <emphasis role="comment">&#32;#&#32;&#32;在任何情况下,作者都不承担任何损害赔偿责任</emphasis>
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00007"/>00007 <emphasis role="comment">&#32;#</emphasis>
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00008"/>00008 <emphasis role="comment">&#32;#&#32;&#32;使用的许可声明:</emphasis>
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00009"/>00009 <emphasis role="comment">&#32;#&#32;&#32;1.&#32;&#32;不得歪曲本软件的来源,你不能声称你编写了原始软件.</emphasis>
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00010"/>00010 <emphasis role="comment">&#32;#&#32;&#32;2.&#32;&#32;免费授予以任何目的,前提是版权声明出现在所有副本中.</emphasis>
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00011"/>00011 <emphasis role="comment">&#32;#&#32;&#32;&#32;&#32;&#32;&#32;并且版权声明和许可声明同时出现.</emphasis>
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00012"/>00012 <emphasis role="comment">&#32;#&#32;&#32;3.&#32;&#32;你有使用,复制,修改,分发,和销售本软件的许可.</emphasis>
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00013"/>00013 <emphasis role="comment">&#32;#&#32;&#32;4.&#32;&#32;如果你在产品中使用,产品文档中的声明是赞赏的但不是必须的.</emphasis>
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00014"/>00014 <emphasis role="comment">&#32;#&#32;&#32;5.&#32;&#32;本通知不得从任何来源删除或更改.</emphasis>
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00015"/>00015 <emphasis role="comment">&#32;#</emphasis>
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00016"/>00016 <emphasis role="comment">&#32;#&#32;&#32;Yuankang&#32;Liang(XerolySkinner)</emphasis>
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00017"/>00017 <emphasis role="comment">&#32;#&#32;&#32;&#32;&#32;&#32;&#32;E-mail:zabbcccbbaz@163.com</emphasis>
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00018"/>00018 <emphasis role="comment">&#32;#&#32;&#32;&#32;&#32;&#32;&#32;QQ:2715099320</emphasis>
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00019"/>00019 <emphasis role="comment">&#32;#&#32;&#32;&#32;&#32;&#32;&#32;Mobile&#32;Phone:13005636215</emphasis>
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00020"/>00020 <emphasis role="comment">&#32;#</emphasis>
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00021"/>00021 <emphasis role="comment">&#32;#&#32;&#32;All&#32;rights&#32;reserved.</emphasis>
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00022"/>00022 <emphasis role="comment">&#32;*/</emphasis>
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00023"/>00023
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00034"/>00034 <emphasis role="comment">//----------------------------------------------------------------------------------------------------</emphasis>
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00035"/>00035 <emphasis role="comment">//&#32;&#32;头文件</emphasis>
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00036"/>00036 <emphasis role="preprocessor">#include&#32;&quot;<link linkend="_bsp___b_m_p_8h">bsp_BMP.h</link>&quot;</emphasis>
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00038"/>00038 <emphasis role="comment">//----------------------------------------------------------------------------------------------------</emphasis>
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00039"/>00039 <emphasis role="comment">//&#32;&#32;类函数</emphasis>
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00045"/><link linkend="_classbsp___b_m_p_1a4aaa5a2ea2f5b3c07c8e16009984766e">00045</link> <emphasis role="comment"></emphasis><emphasis role="keywordtype">void</emphasis>&#32;<link linkend="_classbsp___b_m_p_1a4aaa5a2ea2f5b3c07c8e16009984766e">bsp_BMP::pels</link>(<link linkend="_varint_8h_1afaa62991928fb9fb18ff0db62a040aba">u32</link>&#32;x,&#32;<link linkend="_varint_8h_1afaa62991928fb9fb18ff0db62a040aba">u32</link>&#32;y)&#32;{
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00046"/>00046 &#32;&#32;&#32;&#32;<link linkend="_classbsp___b_m_p_1a64dcf31f5722327336d87794b873a335">bsp_BMP::BITMAPINFO</link>.<link linkend="_struct___b_i_t_m_a_p_i_n_f_o_1a7d9eafe9a3374cd06dc22fda1af98b6d">bmiHeader</link>.<link linkend="_struct___b_i_t_m_a_p_i_n_f_o_h_e_a_d_e_r_1a6a7eb9da9dfb7790486523dac6c4b6c2">biXPelsPerMeter</link>&#32;=&#32;x;
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00047"/>00047 &#32;&#32;&#32;&#32;<link linkend="_classbsp___b_m_p_1a64dcf31f5722327336d87794b873a335">bsp_BMP::BITMAPINFO</link>.<link linkend="_struct___b_i_t_m_a_p_i_n_f_o_1a7d9eafe9a3374cd06dc22fda1af98b6d">bmiHeader</link>.<link linkend="_struct___b_i_t_m_a_p_i_n_f_o_h_e_a_d_e_r_1a0c830c96c45441edc35a5397bc86ace0">biYPelsPerMeter</link>&#32;=&#32;y;}
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00052"/><link linkend="_classbsp___b_m_p_1ae0e2551a06b8ad966a86b2c8324da25c">00052</link> <link linkend="_varint_8h_1afaa62991928fb9fb18ff0db62a040aba">u32</link>&#32;<link linkend="_classbsp___b_m_p_1ae0e2551a06b8ad966a86b2c8324da25c">bsp_BMP::giveData</link>(<emphasis role="keywordtype">void</emphasis>)&#32;{
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00053"/>00053 &#32;&#32;&#32;&#32;free(<link linkend="_classbsp___b_m_p_1a2023aceaef140268a12bc61b81d410ca">dat</link>);
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00054"/>00054 &#32;&#32;&#32;&#32;<link linkend="_classbsp___b_m_p_1a2023aceaef140268a12bc61b81d410ca">dat</link>&#32;=&#32;(<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>*)malloc(<link linkend="_classbsp___b_m_p_1a8a1c31ee70ed4061ad8bea4254959b83">Size</link>);
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00055"/>00055 &#32;&#32;&#32;&#32;<emphasis role="keywordflow">return</emphasis>&#32;(<link linkend="_varint_8h_1afaa62991928fb9fb18ff0db62a040aba">u32</link>)<link linkend="_classbsp___b_m_p_1a2023aceaef140268a12bc61b81d410ca">dat</link>;}
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00059"/><link linkend="_classbsp___b_m_p_1abe5d545dea1090a228843f140650f573">00059</link> <emphasis role="keywordtype">void</emphasis>&#32;<link linkend="_classbsp___b_m_p_1abe5d545dea1090a228843f140650f573">bsp_BMP::delData</link>(<emphasis role="keywordtype">void</emphasis>)&#32;{
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00060"/>00060 &#32;&#32;&#32;&#32;free(<link linkend="_classbsp___b_m_p_1a2023aceaef140268a12bc61b81d410ca">dat</link>);}
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00068"/><link linkend="_classbsp___b_m_p_1a17c0c014ef6ce7d09a5dd81c5d2c5d57">00068</link> <emphasis role="keywordtype">void</emphasis>&#32;<link linkend="_classbsp___b_m_p_1a17c0c014ef6ce7d09a5dd81c5d2c5d57">bsp_BMP::ColorsSet</link>(<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>&#32;R,&#32;<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>&#32;G,&#32;<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>&#32;B,<link linkend="_varint_8h_1afaa62991928fb9fb18ff0db62a040aba">u32</link>&#32;i)&#32;{
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00069"/>00069 &#32;&#32;&#32;&#32;<link linkend="_classbsp___b_m_p_1a64dcf31f5722327336d87794b873a335">BITMAPINFO</link>.<link linkend="_struct___b_i_t_m_a_p_i_n_f_o_1ab5fe5744a8fe46833743bc6b5cf72a49">bmiColors</link>[i].<link linkend="_struct___r_g_b_q_u_a_d_1ad26ba005b107e31a81b9e3e981ca9f1d">rgbBlue</link>&#32;=&#32;B;
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00070"/>00070 &#32;&#32;&#32;&#32;<link linkend="_classbsp___b_m_p_1a64dcf31f5722327336d87794b873a335">BITMAPINFO</link>.<link linkend="_struct___b_i_t_m_a_p_i_n_f_o_1ab5fe5744a8fe46833743bc6b5cf72a49">bmiColors</link>[i].<link linkend="_struct___r_g_b_q_u_a_d_1a2e445545aae97ebab36603942d3780d1">rgbGreen</link>&#32;=&#32;G;
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00071"/>00071 &#32;&#32;&#32;&#32;<link linkend="_classbsp___b_m_p_1a64dcf31f5722327336d87794b873a335">BITMAPINFO</link>.<link linkend="_struct___b_i_t_m_a_p_i_n_f_o_1ab5fe5744a8fe46833743bc6b5cf72a49">bmiColors</link>[i].<link linkend="_struct___r_g_b_q_u_a_d_1a9756faed264a45ead4f89567e807247f">rgbRed</link>&#32;=&#32;R;
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00072"/>00072 &#32;&#32;&#32;&#32;<link linkend="_classbsp___b_m_p_1a64dcf31f5722327336d87794b873a335">BITMAPINFO</link>.<link linkend="_struct___b_i_t_m_a_p_i_n_f_o_1ab5fe5744a8fe46833743bc6b5cf72a49">bmiColors</link>[i].<link linkend="_struct___r_g_b_q_u_a_d_1a742c7421feef58afb68308d3643bd924">rgbReserved</link>&#32;=&#32;0;}
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00078"/><link linkend="_classbsp___b_m_p_1a535cd9bfe5e49ba97ff9c4a1dd8ebb51">00078</link> <emphasis role="keywordtype">void</emphasis>&#32;<link linkend="_classbsp___b_m_p_1a535cd9bfe5e49ba97ff9c4a1dd8ebb51">bsp_BMP::sizeSet</link>(<link linkend="_varint_8h_1afaa62991928fb9fb18ff0db62a040aba">u32</link>&#32;x,&#32;<link linkend="_varint_8h_1afaa62991928fb9fb18ff0db62a040aba">u32</link>&#32;y)&#32;{
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00079"/>00079 &#32;&#32;&#32;&#32;free(<link linkend="_classbsp___b_m_p_1a2023aceaef140268a12bc61b81d410ca">dat</link>);
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00080"/>00080 &#32;&#32;&#32;&#32;<link linkend="_classbsp___b_m_p_1a8a1c31ee70ed4061ad8bea4254959b83">Size</link>&#32;=&#32;x&#32;*&#32;y;
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00081"/>00081 &#32;&#32;&#32;&#32;<link linkend="_classbsp___b_m_p_1a64dcf31f5722327336d87794b873a335">BITMAPINFO</link>.<link linkend="_struct___b_i_t_m_a_p_i_n_f_o_1a7d9eafe9a3374cd06dc22fda1af98b6d">bmiHeader</link>.<link linkend="_struct___b_i_t_m_a_p_i_n_f_o_h_e_a_d_e_r_1a28dd4e1f56936b64f6e01db9b2d171f2">biWidth</link>&#32;=&#32;x;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;<emphasis role="comment">//&#32;&#32;色彩宽度</emphasis>
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00082"/>00082 &#32;&#32;&#32;&#32;<link linkend="_classbsp___b_m_p_1a64dcf31f5722327336d87794b873a335">BITMAPINFO</link>.<link linkend="_struct___b_i_t_m_a_p_i_n_f_o_1a7d9eafe9a3374cd06dc22fda1af98b6d">bmiHeader</link>.<link linkend="_struct___b_i_t_m_a_p_i_n_f_o_h_e_a_d_e_r_1a9f6c38749a3b5f8b261be7a6556cf97a">biHeight</link>&#32;=&#32;y;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;<emphasis role="comment">//&#32;&#32;色彩高度</emphasis>
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00083"/>00083 &#32;&#32;&#32;&#32;<link linkend="_classbsp___b_m_p_1a64dcf31f5722327336d87794b873a335">BITMAPINFO</link>.<link linkend="_struct___b_i_t_m_a_p_i_n_f_o_1a3356c2aeed730cf31d05fd09244ecbce">bmfHeader</link>.<link linkend="_struct___b_i_t_m_a_p_f_i_l_e_h_e_a_d_e_r_1af53728df68db96b9decc5100bc1bf7e0">bfOffBits</link>&#32;=
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00084"/>00084 &#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;<emphasis role="keyword">sizeof</emphasis>(<link linkend="_struct___b_i_t_m_a_p_i_n_f_o">_BITMAPINFO</link>);&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;<emphasis role="comment">//&#32;&#32;位图数据偏倚</emphasis>
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00085"/>00085 &#32;&#32;&#32;&#32;<link linkend="_classbsp___b_m_p_1a64dcf31f5722327336d87794b873a335">BITMAPINFO</link>.<link linkend="_struct___b_i_t_m_a_p_i_n_f_o_1a3356c2aeed730cf31d05fd09244ecbce">bmfHeader</link>.<link linkend="_struct___b_i_t_m_a_p_f_i_l_e_h_e_a_d_e_r_1a1bd9726a58f87d278efa58d6d7c70a81">bfSize</link>&#32;=
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00086"/>00086 &#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;x&#32;*&#32;y&#32;+
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00087"/>00087 &#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;<link linkend="_classbsp___b_m_p_1a64dcf31f5722327336d87794b873a335">BITMAPINFO</link>.<link linkend="_struct___b_i_t_m_a_p_i_n_f_o_1a3356c2aeed730cf31d05fd09244ecbce">bmfHeader</link>.<link linkend="_struct___b_i_t_m_a_p_f_i_l_e_h_e_a_d_e_r_1af53728df68db96b9decc5100bc1bf7e0">bfOffBits</link>;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;<emphasis role="comment">//&#32;&#32;文件大小</emphasis>
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00088"/>00088 &#32;&#32;&#32;&#32;}
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00090"/>00090 <emphasis role="comment">//----------------------------------------------------------------------------------------------------</emphasis>
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00091"/>00091 <emphasis role="comment">//&#32;&#32;构造函数</emphasis>
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00097"/><link linkend="_classbsp___b_m_p_1a27d05488822dc9548e0783d46808a1db">00097</link> <emphasis role="comment"></emphasis><link linkend="_classbsp___b_m_p_1a27d05488822dc9548e0783d46808a1db">bsp_BMP::bsp_BMP</link>(<link linkend="_varint_8h_1afaa62991928fb9fb18ff0db62a040aba">u32</link>&#32;Width,&#32;<link linkend="_varint_8h_1afaa62991928fb9fb18ff0db62a040aba">u32</link>&#32;Height)&#32;{
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00098"/>00098 &#32;&#32;&#32;&#32;<link linkend="_classbsp___b_m_p_1a2023aceaef140268a12bc61b81d410ca">bsp_BMP::dat</link>&#32;=&#32;NULL;
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00099"/>00099 &#32;&#32;&#32;&#32;<link linkend="_classbsp___b_m_p_1a8a1c31ee70ed4061ad8bea4254959b83">bsp_BMP::Size</link>&#32;=&#32;Width&#32;*&#32;Height;
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00100"/>00100 &#32;&#32;&#32;&#32;<link linkend="_classbsp___b_m_p_1a64dcf31f5722327336d87794b873a335">BITMAPINFO</link>.<link linkend="_struct___b_i_t_m_a_p_i_n_f_o_1a7d9eafe9a3374cd06dc22fda1af98b6d">bmiHeader</link>.<link linkend="_struct___b_i_t_m_a_p_i_n_f_o_h_e_a_d_e_r_1a28dd4e1f56936b64f6e01db9b2d171f2">biWidth</link>&#32;=&#32;Width;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;<emphasis role="comment">//&#32;&#32;色彩宽度</emphasis>
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00101"/>00101 &#32;&#32;&#32;&#32;<link linkend="_classbsp___b_m_p_1a64dcf31f5722327336d87794b873a335">BITMAPINFO</link>.<link linkend="_struct___b_i_t_m_a_p_i_n_f_o_1a7d9eafe9a3374cd06dc22fda1af98b6d">bmiHeader</link>.<link linkend="_struct___b_i_t_m_a_p_i_n_f_o_h_e_a_d_e_r_1a9f6c38749a3b5f8b261be7a6556cf97a">biHeight</link>&#32;=&#32;Height;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;<emphasis role="comment">//&#32;&#32;色彩高度</emphasis>
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00102"/>00102 &#32;&#32;&#32;&#32;<link linkend="_classbsp___b_m_p_1a64dcf31f5722327336d87794b873a335">BITMAPINFO</link>.<link linkend="_struct___b_i_t_m_a_p_i_n_f_o_1a3356c2aeed730cf31d05fd09244ecbce">bmfHeader</link>.<link linkend="_struct___b_i_t_m_a_p_f_i_l_e_h_e_a_d_e_r_1a6810e258839bc4345e2036af20e607db">bfType</link>&#32;=&#32;0x4D42;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;<emphasis role="comment">//&#32;&#32;恒为保护字</emphasis>
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00103"/>00103 &#32;&#32;&#32;&#32;<link linkend="_classbsp___b_m_p_1a64dcf31f5722327336d87794b873a335">BITMAPINFO</link>.<link linkend="_struct___b_i_t_m_a_p_i_n_f_o_1a3356c2aeed730cf31d05fd09244ecbce">bmfHeader</link>.<link linkend="_struct___b_i_t_m_a_p_f_i_l_e_h_e_a_d_e_r_1a71c78132cda5e8b032fb4f549ec9a14a">bfReserved1</link>&#32;=&#32;0;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;<emphasis role="comment">//&#32;&#32;保留字</emphasis>
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00104"/>00104 &#32;&#32;&#32;&#32;<link linkend="_classbsp___b_m_p_1a64dcf31f5722327336d87794b873a335">BITMAPINFO</link>.<link linkend="_struct___b_i_t_m_a_p_i_n_f_o_1a3356c2aeed730cf31d05fd09244ecbce">bmfHeader</link>.<link linkend="_struct___b_i_t_m_a_p_f_i_l_e_h_e_a_d_e_r_1a3f69e4551c8fee241e5a4cd224c64f50">bfReserved2</link>&#32;=&#32;0;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;<emphasis role="comment">//&#32;&#32;保留字</emphasis>
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00105"/>00105 &#32;&#32;&#32;&#32;<link linkend="_classbsp___b_m_p_1a64dcf31f5722327336d87794b873a335">BITMAPINFO</link>.<link linkend="_struct___b_i_t_m_a_p_i_n_f_o_1a7d9eafe9a3374cd06dc22fda1af98b6d">bmiHeader</link>.<link linkend="_struct___b_i_t_m_a_p_i_n_f_o_h_e_a_d_e_r_1aef77b295d3a4b6540873c9e0d2ef53d2">biCompression</link>&#32;=&#32;0;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;<emphasis role="comment">//&#32;&#32;无压缩</emphasis>
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00106"/>00106 &#32;&#32;&#32;&#32;<link linkend="_classbsp___b_m_p_1a64dcf31f5722327336d87794b873a335">BITMAPINFO</link>.<link linkend="_struct___b_i_t_m_a_p_i_n_f_o_1a7d9eafe9a3374cd06dc22fda1af98b6d">bmiHeader</link>.<link linkend="_struct___b_i_t_m_a_p_i_n_f_o_h_e_a_d_e_r_1a0fa85188799eb931e2a03c887751a89e">biSizeImage</link>&#32;=&#32;0;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;<emphasis role="comment">//&#32;&#32;无压缩下为0</emphasis>
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00107"/>00107 &#32;&#32;&#32;&#32;<link linkend="_classbsp___b_m_p_1a64dcf31f5722327336d87794b873a335">BITMAPINFO</link>.<link linkend="_struct___b_i_t_m_a_p_i_n_f_o_1a7d9eafe9a3374cd06dc22fda1af98b6d">bmiHeader</link>.<link linkend="_struct___b_i_t_m_a_p_i_n_f_o_h_e_a_d_e_r_1a42d10de030492301ff4a3d5cfb91c2dd">biPlanes</link>&#32;=&#32;1;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;<emphasis role="comment">//&#32;&#32;恒为保护字</emphasis>
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00108"/>00108 &#32;&#32;&#32;&#32;<link linkend="_classbsp___b_m_p_1a64dcf31f5722327336d87794b873a335">BITMAPINFO</link>.<link linkend="_struct___b_i_t_m_a_p_i_n_f_o_1a7d9eafe9a3374cd06dc22fda1af98b6d">bmiHeader</link>.<link linkend="_struct___b_i_t_m_a_p_i_n_f_o_h_e_a_d_e_r_1a1bb27f668cbed1ce6523e7042962a0e7">biClrUsed</link>&#32;=&#32;0;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;<emphasis role="comment">//&#32;&#32;使用全部颜色</emphasis>
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00109"/>00109 &#32;&#32;&#32;&#32;<link linkend="_classbsp___b_m_p_1a64dcf31f5722327336d87794b873a335">BITMAPINFO</link>.<link linkend="_struct___b_i_t_m_a_p_i_n_f_o_1a7d9eafe9a3374cd06dc22fda1af98b6d">bmiHeader</link>.<link linkend="_struct___b_i_t_m_a_p_i_n_f_o_h_e_a_d_e_r_1a4ee52fd1ab5c173a6e54444d1ec61dab">biClrImportant</link>&#32;=&#32;0;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;<emphasis role="comment">//&#32;&#32;全部颜色都重要</emphasis>
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00110"/>00110 &#32;&#32;&#32;&#32;<link linkend="_classbsp___b_m_p_1a64dcf31f5722327336d87794b873a335">BITMAPINFO</link>.<link linkend="_struct___b_i_t_m_a_p_i_n_f_o_1a7d9eafe9a3374cd06dc22fda1af98b6d">bmiHeader</link>.<link linkend="_struct___b_i_t_m_a_p_i_n_f_o_h_e_a_d_e_r_1a6a7eb9da9dfb7790486523dac6c4b6c2">biXPelsPerMeter</link>&#32;=&#32;0;&#32;&#32;&#32;&#32;&#32;&#32;&#32;<emphasis role="comment">//&#32;&#32;像素-不太重要</emphasis>
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00111"/>00111 &#32;&#32;&#32;&#32;<link linkend="_classbsp___b_m_p_1a64dcf31f5722327336d87794b873a335">BITMAPINFO</link>.<link linkend="_struct___b_i_t_m_a_p_i_n_f_o_1a7d9eafe9a3374cd06dc22fda1af98b6d">bmiHeader</link>.<link linkend="_struct___b_i_t_m_a_p_i_n_f_o_h_e_a_d_e_r_1a0c830c96c45441edc35a5397bc86ace0">biYPelsPerMeter</link>&#32;=&#32;0;&#32;&#32;&#32;&#32;&#32;&#32;&#32;<emphasis role="comment">//&#32;&#32;像素-不太重要</emphasis>
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00112"/>00112 &#32;&#32;&#32;&#32;<link linkend="_classbsp___b_m_p_1a64dcf31f5722327336d87794b873a335">BITMAPINFO</link>.<link linkend="_struct___b_i_t_m_a_p_i_n_f_o_1a7d9eafe9a3374cd06dc22fda1af98b6d">bmiHeader</link>.<link linkend="_struct___b_i_t_m_a_p_i_n_f_o_h_e_a_d_e_r_1a750a301fb5962c5fc2b7fac173d96bdf">biSize</link>&#32;=&#32;40;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;<emphasis role="comment">//&#32;&#32;信息头大小</emphasis>
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00113"/>00113 &#32;&#32;&#32;&#32;<link linkend="_classbsp___b_m_p_1a64dcf31f5722327336d87794b873a335">BITMAPINFO</link>.<link linkend="_struct___b_i_t_m_a_p_i_n_f_o_1a3356c2aeed730cf31d05fd09244ecbce">bmfHeader</link>.<link linkend="_struct___b_i_t_m_a_p_f_i_l_e_h_e_a_d_e_r_1af53728df68db96b9decc5100bc1bf7e0">bfOffBits</link>&#32;=&#32;
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00114"/>00114 &#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;<emphasis role="keyword">sizeof</emphasis>(<link linkend="_struct___b_i_t_m_a_p_i_n_f_o">_BITMAPINFO</link>);&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;<emphasis role="comment">//&#32;&#32;位图数据偏倚</emphasis>
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00115"/>00115 &#32;&#32;&#32;&#32;<link linkend="_classbsp___b_m_p_1a64dcf31f5722327336d87794b873a335">BITMAPINFO</link>.<link linkend="_struct___b_i_t_m_a_p_i_n_f_o_1a3356c2aeed730cf31d05fd09244ecbce">bmfHeader</link>.<link linkend="_struct___b_i_t_m_a_p_f_i_l_e_h_e_a_d_e_r_1a1bd9726a58f87d278efa58d6d7c70a81">bfSize</link>&#32;=&#32;
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00116"/>00116 &#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;Width&#32;*&#32;Height+&#32;
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00117"/>00117 &#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;<link linkend="_classbsp___b_m_p_1a64dcf31f5722327336d87794b873a335">BITMAPINFO</link>.<link linkend="_struct___b_i_t_m_a_p_i_n_f_o_1a3356c2aeed730cf31d05fd09244ecbce">bmfHeader</link>.<link linkend="_struct___b_i_t_m_a_p_f_i_l_e_h_e_a_d_e_r_1af53728df68db96b9decc5100bc1bf7e0">bfOffBits</link>;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;<emphasis role="comment">//&#32;&#32;文件大小</emphasis>
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00118"/>00118 &#32;&#32;&#32;&#32;<link linkend="_classbsp___b_m_p_1a64dcf31f5722327336d87794b873a335">BITMAPINFO</link>.<link linkend="_struct___b_i_t_m_a_p_i_n_f_o_1a7d9eafe9a3374cd06dc22fda1af98b6d">bmiHeader</link>.<link linkend="_struct___b_i_t_m_a_p_i_n_f_o_h_e_a_d_e_r_1a98f05ea6cc8388d3ca701a834b04a286">biBitCount</link>&#32;=&#32;8;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;<emphasis role="comment">//&#32;&#32;色彩深度</emphasis>
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00119"/>00119 &#32;&#32;&#32;&#32;}
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00120"/>00120 <emphasis role="comment">//----------------------------------------------------------------------------------------------------</emphasis>
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00121"/><link linkend="_classbsp___b_m_p_1a604d7e5683da37be890672aa690c2ff2">00121</link> <link linkend="_classbsp___b_m_p_1a604d7e5683da37be890672aa690c2ff2">bsp_BMP::~bsp_BMP</link>(<emphasis role="keywordtype">void</emphasis>)&#32;{
<anchor xml:id="_bsp___b_m_p_8cpp_source_1l00122"/>00122 &#32;&#32;&#32;&#32;free(<link linkend="_classbsp___b_m_p_1a2023aceaef140268a12bc61b81d410ca">dat</link>);}
</programlisting></section>