📄 chap01.htm
字号:
<td width="25%" class="Normal">
<p align=center style='text-align:center;line-height:18.0pt'><span
lang=EN-US>0</span></p>
</td>
</tr>
<tr>
<td width="25%" class="Normal">
<p align=center style='text-align:center;line-height:18.0pt'><span
style='font-family:宋体;"Times New Roman"'>紫</span></p>
</td>
<td width="25%" class="Normal">
<p align=center style='text-align:center;line-height:18.0pt'><span
lang=EN-US>255</span></p>
</td>
<td width="25%" class="Normal">
<p align=center style='text-align:center;line-height:18.0pt'><span
lang=EN-US>0</span></p>
</td>
<td width="25%" class="Normal">
<p align=center style='text-align:center;line-height:18.0pt'><span
lang=EN-US>255</span></p>
</td>
</tr>
<tr>
<td width="25%" class="Normal">
<p align=center style='text-align:center;line-height:18.0pt'><span
style='font-family:宋体;"Times New Roman"'>青</span></p>
</td>
<td width="25%" class="Normal">
<p align=center style='text-align:center;line-height:18.0pt'><span
lang=EN-US>0</span></p>
</td>
<td width="25%" class="Normal">
<p align=center style='text-align:center;line-height:18.0pt'><span
lang=EN-US>255</span></p>
</td>
<td width="25%" class="Normal">
<p align=center style='text-align:center;line-height:18.0pt'><span
lang=EN-US>255</span></p>
</td>
</tr>
<tr>
<td width="25%" class="Normal">
<p align=center style='text-align:center;line-height:18.0pt'><span
style='font-family:宋体;"Times New Roman"'>白</span></p>
</td>
<td width="25%" class="Normal">
<p align=center style='text-align:center;line-height:18.0pt'><span
lang=EN-US>255</span></p>
</td>
<td width="25%" class="Normal">
<p align=center style='text-align:center;line-height:18.0pt'><span
lang=EN-US>255</span></p>
</td>
<td width="25%" class="Normal">
<p align=center style='text-align:center;line-height:18.0pt'><span
lang=EN-US>255</span></p>
</td>
</tr>
<tr>
<td width="25%" class="Normal">
<p align=center style='text-align:center;line-height:18.0pt'><span
style='font-family:宋体;"Times New Roman"'>黑</span></p>
</td>
<td width="25%" class="Normal">
<p align=center style='text-align:center;line-height:18.0pt'><span
lang=EN-US>0</span></p>
</td>
<td width="25%" class="Normal">
<p align=center style='text-align:center;line-height:18.0pt'><span
lang=EN-US>0</span></p>
</td>
<td width="25%" class="Normal">
<p align=center style='text-align:center;line-height:18.0pt'><span
lang=EN-US>0</span></p>
</td>
</tr>
<tr>
<td width="25%" class="Normal">
<p align=center style='text-align:center;line-height:18.0pt'><span
style='font-family:宋体;"Times New Roman"'>灰</span></p>
</td>
<td width="25%" class="Normal">
<p align=center style='text-align:center;line-height:18.0pt'><span
lang=EN-US>128</span></p>
</td>
<td width="25%" class="Normal">
<p align=center style='text-align:center;line-height:18.0pt'><span
lang=EN-US>128</span></p>
</td>
<td width="25%" class="Normal">
<p align=center style='text-align:center;line-height:18.0pt'><span
lang=EN-US>128</span></p>
</td>
</tr>
</table>
</div>
<p style='line-height:18.0pt'><span
style='font-family:宋体;"Times New Roman"'>你大概已经明白了,当一幅图中每个象素赋予不同的</span><span lang=EN-US>RGB</span><span
style='font-family:宋体;"Times New Roman"'>值时,能呈现出五彩缤纷的颜色了,这样就形成了彩色图。的确是这样的,但实际上的做法还有些差别。</span></p>
<p style='line-height:18.0pt'><span
style='font-family:宋体;"Times New Roman"'>让我们来看看下面的例子。</span></p>
<p style='line-height:18.0pt'><span
style='font-family:宋体;"Times New Roman"'>有一个长宽各为</span><span lang=EN-US>200</span><span
style='font-family:宋体;"Times New Roman"'>个象素,颜色数为</span><span lang=EN-US>16</span><span
style='font-family:宋体;"Times New Roman"'>色的彩色图,每一个象素都用</span><span lang=EN-US>R</span><span
style='font-family:宋体;"Times New Roman"'>、</span><span lang=EN-US>G</span><span style='font-family:
宋体;"Times New Roman"'>、</span><span
lang=EN-US>B</span><span style='font-family:宋体;
"Times New Roman"'>三个分量表示。因为每个分量有</span><span lang=EN-US>256</span><span
style='font-family:宋体;"Times New Roman"'>个级别,要用</span><span lang=EN-US>8</span><span
style='font-family:宋体;"Times New Roman"'>位</span><span lang=EN-US>(bit)</span><span style='font-family:
宋体;"Times New Roman"'>,即一个字节</span><span
lang=EN-US>(byte)</span><span style='font-family:宋体;
"Times New Roman"'>来表示,所以每个象素需要用</span><span lang=EN-US>3</span><span
style='font-family:宋体;"Times New Roman"'>个字节。整个图象要用</span><span lang=EN-US>200×200×3</span><span
style='font-family:宋体;"Times New Roman"'>,约</span><span lang=EN-US>120k</span><span style='font-family:
宋体;"Times New Roman"'>字节,可不是一个小数目呀!如果我们用下面的方法,就能省的多。</span></p>
<p style='line-height:18.0pt'><span
style='font-family:宋体;"Times New Roman"'>因为是一个</span><span lang=EN-US>16</span><span
style='font-family:宋体;"Times New Roman"'>色图,也就是说这幅图中最多只有</span><span lang=EN-US>16</span><span
style='font-family:宋体;"Times New Roman"'>种颜色,我们可以用一个表:表中的每一行记录一种颜色的</span><span lang=EN-US>R</span><span
style='font-family:宋体;"Times New Roman"'>、</span><span lang=EN-US>G</span><span style='font-family:
宋体;"Times New Roman"'>、</span><span
lang=EN-US>B</span><span style='font-family:宋体;
"Times New Roman"'>值。这样当我们表示一个象素的颜色时,只需要指出该颜色是在第几行,即该颜色在表中的索引值。举个例子,如果表的第</span><span
lang=EN-US>0</span><span style='font-family:宋体;
"Times New Roman"'>行为</span><span lang=EN-US>255</span><span
style='font-family:宋体;"Times New Roman"'>,</span><span lang=EN-US>0</span><span style='font-family:
宋体;"Times New Roman"'>,</span><span
lang=EN-US>0(</span><span style='font-family:宋体;
"Times New Roman"'>红色</span><span lang=EN-US>)</span><span
style='font-family:宋体;"Times New Roman"'>,那么当某个象素为红色时,只需要标明</span><span lang=EN-US>0</span><span
style='font-family:宋体;"Times New Roman"'>即可。</span></p>
<p style='line-height:18.0pt'><span
style='font-family:宋体;"Times New Roman"'>让我们再来计算一下:</span><span lang=EN-US>16</span><span
style='font-family:宋体;"Times New Roman"'>种状态可以用</span><span lang=EN-US>4</span><span
style='font-family:宋体;"Times New Roman"'>位</span><span lang=EN-US>(bit)</span><span style='font-family:
宋体;"Times New Roman"'>表示,所以一个象素要用半个字节。整个图象要用</span><span
lang=EN-US>200×200×0.5</span><span style='font-family:宋体;"Times New Roman";"Times New Roman"'>,约</span><span
lang=EN-US>20k</span><span style='font-family:宋体;
"Times New Roman"'>字节,再加上表占用的字节为</span><span lang=EN-US>3×16=48</span><span
style='font-family:宋体;"Times New Roman"'>字节</span><span lang=EN-US>.</span><span style='font-family:
宋体;"Times New Roman"'>整个占用的字节数约为前面的</span><span
lang=EN-US>1/6</span><span style='font-family:宋体;
"Times New Roman"'>,省很多吧?</span></p>
<p style='line-height:18.0pt'><span
style='font-family:宋体;"Times New Roman"'>这张</span><span lang=EN-US>R</span><span style='font-family:
宋体;"Times New Roman"'>、</span><span
lang=EN-US>G</span><span style='font-family:宋体;
"Times New Roman"'>、</span><span lang=EN-US>B</span><span
style='font-family:宋体;"Times New Roman"'>的表,就是我们常说的调色板</span><span lang=EN-US>(Palette)</span><span
style='font-family:宋体;"Times New Roman"'>,另一种叫法是颜色查找表</span><span lang=EN-US>LUT(Look
Up Table)</span><span
style='font-family:宋体;"Times New Roman"'>,似乎更确切一些。</span><span lang=EN-US>Windows</span><span
style='font-family:宋体;"Times New Roman"'>位图中便用到了调色板技术。其实不光是</span><span lang=EN-US>Windows</span><span
style='font-family:宋体;"Times New Roman"'>位图,许多图象文件格式如</span><span lang=EN-US>pcx</span><span
style='font-family:宋体;"Times New Roman"'>、</span><span lang=EN-US>tif</span><span style='font-family:
宋体;"Times New Roman"'>、</span><span
lang=EN-US>gif</span><span style='font-family:宋体;
"Times New Roman"'>等都用到了。所以很好地掌握调色板的概念是十分有用的。</span></p>
<p style='line-height:18.0pt'><span
style='font-family:宋体;"Times New Roman"'>有一种图,它的颜色数高达</span><span lang=EN-US>256×256×256</span><span
style='font-family:宋体;"Times New Roman"'>种,也就是说包含我们上述提到的</span><span lang=EN-US>R</span><span
style='font-family:宋体;"Times New Roman"'>、</span><span lang=EN-US>G</span><span style='font-family:
宋体;"Times New Roman"'>、</span><span
lang=EN-US>B</span><span style='font-family:宋体;
"Times New Roman"'>颜色表示方法中所有的颜色,这种图叫做真彩色图</span><span
lang=EN-US>(true color)</span><span style='font-family:宋体;"Times New Roman";"Times New Roman"'>。真彩色图并不是说一幅图包含了所有的颜色,而是说它具有显示所有颜色的能力,即最多可以包含所有的颜色。表示真彩色图时,每个象素直接用</span><span
lang=EN-US>R</span><span style='font-family:宋体;
"Times New Roman"'>、</span><span lang=EN-US>G</span><span
style='font-family:宋体;"Times New Roman"'>、</span><span lang=EN-US>B</span><span style='font-family:
宋体;"Times New Roman"'>三个分量字节表示,而不采用调色板技术。原因很明显:如果用调色板,表示一个象素也要用</span><span
lang=EN-US>24</span><span style='font-family:宋体;
"Times New Roman"'>位,这是因为每种颜色的索引要用</span><span
lang=EN-US>24</span><span style='font-family:宋体;
"Times New Roman"'>位</span><span lang=EN-US>(</span><span
style='font-family:宋体;"Times New Roman"'>因为总共有</span><span lang=EN-US>2<sup>24</sup></span><span
style='font-family:宋体;"Times New Roman"'>种颜色,即调色板有</span><span lang=EN-US>2<sup>24</sup></span><span
style='font-family:宋体;"Times New Roman"'>行</span><span lang=EN-US>)</span><span style='font-family:
宋体;"Times New Roman"'>,和直接用</span><span
lang=EN-US>R</span><span style='font-family:宋体;
"Times New Roman"'>,</span><span lang=EN-US>G</span><span
style='font-family:宋体;"Times New Roman"'>,</span><span lang=EN-US>B</span><span style='font-family:
宋体;"Times New Roman"'>三个分量表示用的字节数一样,不但没有任何便宜,还要加上一个</span><span
lang=EN-US>256×256×256×3</span><span style='font-family:宋体;"Times New Roman";"Times New Roman"'>个字节的大调色板。所以真彩色图直接用</span><span
lang=EN-US>R</span><span style='font-family:宋体;
"Times New Roman"'>、</span><span lang=EN-US>G</span><span
style='font-family:宋体;"Times New Roman"'>、</span><span lang=EN-US>B</span><span style='font-family:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -