求剧情
算法的乐趣 · 第二十七节

《算法的乐趣》第二十七节

本节介绍256色PCX文件的格式与RLE压缩应用。PCX文件分文件头、图像数据和256色调色板三个域:128字节的文件头存放图像尺寸、分辨率等信息……

本节介绍256色PCX文件的格式与RLE压缩应用。PCX文件分文件头、图像数据和256色调色板三个域:128字节的文件头存放图像尺寸、分辨率等信息,其中manufacture字节为识别标志,encoding值为1表示采用RLE压缩;因文件头仅预留48字节调色板,256色调色板(1字节颜色数加768字节数据)只能附加在文件尾部,需结合version和bits_per_pixel属性使用。

PCX_RLE算法用字节最高两位是否为1来区分重复数据与非重复数据,低6位表示重复长度;若非重复数据本身最高两位为1,则在其前插入0xC1标识,按长度1的重复数据处理。解码时先读取文件头并判断是否为256色文件,再从文件尾部偏移769字节读取调色板,随后逐行解压图像数据——图像数据存的是调色板索引,查表得到颜色后绘制。该算法解码简单,在DOS时代被广泛用于界面图像。本章小结指出,RLE及其变种(如BMP的BI_RLE8、BI_RLE4)在颜色单调的图像上压缩效果良好。

‹ 上一章目录下一章 ›

全部 76 章