pcx黑白图片(Monochrome) RLE压缩

最近因为Printronix打印机打印中文问题才涉及到了pcx这个图片格式。小小的纠结了几天,把工作过程中所用到的知识罗列在这里。

            黑白色PCX图片

  一、前言

    本文只针对黑白色PCX图片,不在特殊说明。

  二、黑白色pcx图片

    pcx文件描述头+图片数据(RLE压缩)

    pcx头

typedef struct _PcxHeader
{
  BYTE    Identifier;        /* PCX Id Number (Always 0x0A)  */
  BYTE    Version;           /* Version Number */
  BYTE    Encoding;          /* Encoding Format */
  BYTE    BitsPerPixel;      /* Bits per Pixel */
  WORD    XStart;            /* Left of image */
  WORD    YStart;            /* Top of Image */
  WORD    XEnd;              /* Right of Image
  WORD    YEnd;              /* Bottom of image */
  WORD    HorzRes;           /* Horizontal Resolution */
  WORD    VertRes;           /* Vertical Resolution */
  BYTE    Palette[48];       /* 16-Color EGA Palette */
  BYTE    Reserved1;         /* Reserved (Always 0) */
  BYTE    NumBitPlanes;      /* Number of Bit Planes */
  WORD    BytesPerLine;      /* Bytes per Scan-line */
  WORD    PaletteType;       /* Palette Type */
  WORD    HorzScreenSize;    /* Horizontal Screen Size */
  WORD    VertScreenSize;    /* Vertical Screen Size */
  BYTE    Reserved2[54];     /* Reserved (Always 0) */
} PCXHEAD;
0a:
05:
01:
01:

00:00:
00:00:
a2:01:
8d:00:

2c:01:
2c:01:
00:00:00:ff:ff:ff:00:00:
00:00:00:00:00:00:00:00:
00:00:00:00:00:00:00:00:
00:00:00:00:00:00:00:00:
00:00:00:00:00:00:00:00:
00:00:00:00:00:00:00:00:

00:
01:
36:00:
01:00:
00:00:
00:00:
00:00:00:00:00:00:00:00:
00:00:00:00:00:00:00:00:
00:00:00:00:00:00:00:00:
00:00:00:00:00:00:00:00:
00:00:00:00:00:00:00:00:
00:00:00:00:00:00:00:00:
00:00:00:00:00:00:

  图片数据采用RLE压缩,每个像素占用一位,一个字节存储八位像素,这八个像素采用倒序存储(计算机中高低字节的概念

我一时也找不到这个名词)即24位bmp图像中的像素没八个倒序存储在一个字节中。

  bmp像素顺序:

      0   1    2   3    4    5    6  7

    (RGB)(RGB)(RGB)(RGB)(RGB)(RGB)(RGB)(RGB)

  PCX像素顺序

      7    6    5    4    3    2    1  0

  本人在处理24位bmp转黑白pcx图片时,因为没有考虑像素存储顺序导致在那个杯具的图片上纠结了好久。各种猜测揣摩原因未

果。最后还是在朋友的合力帮助下找到了问题所在。果不其然:兄弟合力,其利断金啊。

  三、RLE(Run-length encoding)压缩

    经过RLE压缩后的PCX图像数据分析

dd:ff:0f:c4:ff:c1:fb:c1:f7:c8:ff:1f:c9:ff:d6:ff:9e:81:bd:c1:ef:87:c1:ff:c1:fe:07:c1:ef:c3:ff

在如上RLE压缩过的数据中,从头开始读取一个字节,若字节大于0xc0 则表示后一个字节重复出现当前字节与0xc0的差值次。

若字节小于oxc0则表示该字节单独出现一次。

    实际分析如下:0xdd 大于0xc0 其为技术字节,表示其后的数据字节0xff重复出现0xdd-0xc0=0x1d=29次。跳过0xff,注意这里

需要跳过0xff。0x0f小于0xc0其为数据字节,表示该字节出现一次。下一个字节0xc4大于0xc0其为计数字节,表示其后的数据字节0xff重复出

现0xc4-0xc0=0x04=4次,跳过0xff,等等。

  四、部分数据示例(供研究比对使用)

/**PCX头开始**/0a:
05:
01:
01:

00:00:
00:00:
a2:01:
8d:00:

2c:01:
2c:01:
00:00:00:ff:ff:ff:00:00:
00:00:00:00:00:00:00:00:
00:00:00:00:00:00:00:00:
00:00:00:00:00:00:00:00:
00:00:00:00:00:00:00:00:
00:00:00:00:00:00:00:00:

00:
01:
36:00:
01:00:
00:00:
00:00:
00:00:00:00:00:00:00:00:
00:00:00:00:00:00:00:00:
00:00:00:00:00:00:00:00:
00:00:00:00:00:00:00:00:
00:00:00:00:00:00:00:00:
00:00:00:00:00:00:00:00:
00:00:00:00:00:00:
/**PCX头结束,后面是数据**/
dd:ff:0f:c4:ff:c1:fb:c1:f7:c8:ff:1f:c9:ff:d6:ff:9e:81:bd:c1:ef:87:c1:ff:c1:fe:07:c1:ef:c3:ff:c1:fb:c1:f7:c2:ff:c1:c0:c1:fd:c1:c1:07:c1:ff:c1:fe:c1:ef:bf:c1:df:c1:ff:c1:e0:7e:c1:e0:c1:de:c2:ff:d6:ff:c1:de:c1:fd:bd:c1:ef:7b:c1:ff:c1:fe:c1:f7:c1:ef:c3:ff:c1:fb:c1:f7:c2:ff:c1:fc:c1:fd:bd:c1:f7:c1:ff:c1:fc:c1:f7:5f:c1:df:c2:ff:7e:c2:de:c2:ff:d6:ff:c1:ee:c1:fd:bd:c1:ee:c1:fb:c1:ff:c1:fe:c1:f7:c1:ef:c3:ff:83:07:c2:ff:c1:fc:c1:fd:3d:c1:f7:c1:ff:c1:fd:c1:f7:5f:c1:df:c2:ff:7e:9e:c1:de:c2:ff:d6:ff:c1:f6:c1:fd:bd:c1:ee:c1:fb:c2:ff:1e:0f:c3:ff:7a:c1:f7:c2:ff:c1:fc:c1:c1:7d:c1:f7:c2:ff:c1:f6:c1:dc:1f:c2:ff:60:be:c1:de:c2:ff:d6:ff:c1:c0:c1:c1:81:c1:ee:c1:fb:c2:ff:c1:ed:c1:ef:c3:ff:7a:c1:f7:c2:ff:c1:c0:bd:7d:c1:f7:c2:ff:c1:f6:c1:eb:c1:df:c1:ff:c1:e0:5e:be:c1:c0:c2:ff:d6:ff:c1:de:c1:fd:bd:c1:ee:c1:fb:c2:ff:c1:f5:c1:ef:c3:ff:7a:c1:f7:c2:ff:c1:fc:bd:3d:c1:f7:c2:ff:c1:f6:c1:eb:c1:df:c2:ff:5e:9e:c1:de:c2:ff:d6:ff:c1:de:c1:fd:bd:c1:ef:7b:c2:ff:75:c1:ef:c3:ff:83:07:c2:ff:c1:fc:c2:bd:c1:f7:c1:ff:c1:fe:c1:ed:c1:eb:c1:df:c2:ff:5e:c2:de:c2:ff:d6:ff:c1:c0:81:bd:03:87:c2:ff:0e:0f:c7:ff:c1:c0:c2:c1:c1:f7:c1:ff:c1:fe:1d:c1:f4:1f:c1:ff:c1:e0:60:c1:e0:c1:de:c2:ff:f6:ff:f6:ff:e2:ff:7f:c4:ff:7f:c9:ff:c1:df:c4:ff:d7:ff:c1:f8:c4:ff:c1:fe:3f:c4:ff:1f:c4:ff:1f:c4:ff:c1:c7:c4:ff:c1:c7:c4:ff:d6:ff:c1:f8:00:3f:00:1f:c1:fe:00:0f:c1:c0:07:c1:ff:00:07:c1:e0:03:c1:ff:00:07:c1:e0:03:c1:ff:c1:c0:01:c1:f8:00:c1:ff:c1:c0:01:c1:f8:00:c2:ff:d6:ff:c1:f0:00:0f:00:0f:c1:f8:00:03:c1:c0:01:c1:fc:00:01:c1:e0:01:c1:fe:c2:00:c1:e0:00:c1:ff:c2:00:78:00:7f:80:00:38:00:3f:c1:ff:d6:ff:c1:e0:00:1f:00:07:c1:f8:00:07:c1:c0:01:c1:fc:00:03:c1:e0:00:c1:fc:00:03:c1:e0:00:7f:c2:00:c1:f8:00:3f:c2:00:c1:f8:00:1f:c1:ff:d6:ff:c1:c3:c1:f8:7f:c1:ff:c1:c3:c1:f0:c1:fe:1f:c1:ff:c1:f0:c1:f8:7f:0f:c1:ff:c1:f8:7c:7f:0f:c1:ff:c1:f8:7e:1f:c1:c3:c1:ff:c1:fe:c2:1f:c1:c3:c1:ff:c1:fe:1f:c1:ff:d6:ff:c1:c7:c1:f9:c2:ff:c1:e3:c1:f1:c1:fe:7f:c1:ff:c2:f8:c1:ff:7f:c1:ff:c1:fc:78:7f:3f:c1:ff:c1:fc:7e:3f:c1:cf:c2:ff:1e:3f:c1:cf:c2:ff:1f:c1:ff:d6:ff:c1:c7:c3:ff:c1:e3:c1:f1:c3:ff:c2:f8:c3:ff:c1:fc:78:c3:ff:c1:fc:7e:3f:c3:ff:1e:3f:c3:ff:1f:c1:ff:d6:ff:c1:c7:c3:ff:c1:e3:c1:f1:c3:ff:c2:f8:c3:ff:c1:fc:78:7f:c2:ff:c1:fc:7e:3f:c3:ff:1e:1f:c3:ff:1f:c1:ff:d6:ff:c1:c3:c1:ff:c1:fb:c1:ff:c1:c3:c1:f0:c1:ff:c1:f1:c1:ff:c1:f0:c1:f8:7f:c1:f8:7f:c1:f8:7c:7f:c1:f9:c1:ff:c1:fc:7e:1f:c1:fe:1f:c1:fe:c2:1f:c1:f8:07:c1:ff:1f:c1:ff:d6:ff:c1:e3:c1:ff:c1:f3:c1:ff:c1:c7:c1:f8:c1:ff:c1:ee:c1:ff:c1:f1:c1:fc:7f:c1:f7:3f:c1:f0:c1:fc:3f:c1:f9:c1:ff:c1:f8:7f:1f:c1:fd:c1:cf:c1:fe:3f:0f:c1:f8:07:c1:fe:1f:c1:ff:d6:ff:c1:e1:c1:ff:c1:f3:c1:ff:87:c1:f8:7f:c1:df:7f:c1:e3:c1:fc:3f:c1:ef:9f:c1:f1:c1:fe:3f:c1:f9:c1:ff:c1:f0:c1:ff:0f:c1:fb:c1:e7:c1:fc:7f:8f:c1:ff:c1:e7:c1:fc:3f:c1:ff:d6:ff:c1:f0:c1:ff:c1:f3:c1:fd:0f:c1:fc:3f:c1:df:7f:43:c1:fe:1f:c1:ef:9f:a1:c1:fe:1f:c1:e0:0f:b1:c1:ff:87:c1:fb:c1:ef:c1:e8:7f:87:c1:ff:8f:c1:ec:7f:c1:ff:d6:ff:c1:f8:c1:ff:c1:f7:c1:fc:1f:c1:fe:3f:c1:df:7f:07:c1:fe:1f:c1:ef:c1:ff:83:c1:ff:0f:c1:e0:0f:81:c1:ff:c1:c7:c1:fb:c1:ff:c1:e0:c1:ff:c1:c3:c1:ff:1f:c1:e0:7f:c1:ff:d6:ff:c1:f8:7f:c1:e7:c1:fc:1f:c1:fe:1f:c1:df:7f:07:c1:ff:0f:c1:ef:c1:ff:83:c1:ff:8f:c1:f9:c1:df:83:c1:ff:c1:c3:c1:f9:c1:ff:c1:e0:c1:ff:c1:e3:c1:fe:7f:c1:e0:c2:ff:d6:ff:c1:fc:7f:c1:e7:c1:fc:0f:c1:ff:1f:c1:ee:7f:03:c1:ff:8f:c1:f7:9f:81:c1:ff:87:c1:f9:9f:81:c1:ff:c1:e3:c1:fe:3f:c1:e0:7f:c1:e1:c1:fc:c1:ff:c1:e0:7f:c1:ff:d6:ff:c1:fc:7f:c1:ef:c1:fc:0f:c1:ff:1f:c1:f0:7f:07:c1:ff:8f:c1:f8:3f:83:c1:ff:c1:c7:c1:f9:3f:81:c1:ff:c1:e3:c1:fd:c1:ff:c1:e0:c1:ff:c1:f1:c1:fc:c1:ff:c1:e0:7f:c1:ff:d6:ff:c1:fe:c1:ff:c1:cf:c1:fc:3f:c1:ff:bf:c1:ff:7f:0f:c1:ff:c1:df:c1:ff:bf:87:c1:ff:c1:df:c1:f9:7f:83:c1:ff:c1:f7:c1:fb:c1:ff:c1:c1:c1:ff:c1:f7:c1:f9:c1:ff:c1:e0:c2:ff:d8:ff:9f:c1:fc:7f:c2:ff:c1:cf:7e:1f:c3:ff:bf:0f:c2:ff:c1:f8:7f:8f:c2:ff:c1:fb:c1:ef:c1:c3:c2:ff:c1:f9

/**以下皆同**/

0a:
05:
01:
01:

00:00:
00:00:
5d:00:
31:00:

2c:01:2c:01:

00:00:00:ff:ff:ff:00:00:
00:00:00:00:00:00:00:00:
00:00:00:00:00:00:00:00:
00:00:00:00:00:00:00:00:
00:00:00:00:00:00:00:00:
00:00:00:00:00:00:00:00:

00:
01:
0c:00:
01:00:
00:00:
00:00:
00:00:00:00:00:00:00:00:
00:00:00:00:00:00:00:00:
00:00:00:00:00:00:00:00:
00:00:00:00:00:00:00:00:
00:00:00:00:00:00:00:00:
00:00:00:00:00:00:00:00:
00:00:00:00:00:00:
c2:00:1f:80:00:0f:c1:c0:00:07:c1:e0:00:03:c2:00:1f:80:00:0f:c1:c0:00:07:c1:e0:00:03:c2:00:1f:80:00:0f:c1:c0:00:07:c1:e0:00:03:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:c2:00:1f:80:00:0f:c1:c0:00:07:c1:e0:00:03:c2:00:1f:80:00:0f:c1:c0:00:07:c1:e0:00:03:c2:00:1f:80:00:0f:c1:c0:00:07:c1:e0:00:03:7e:52:41:53:54:45:52:45:4e:44:0d:0a:45:4e:44:0d:0a:7e:43:52:45:41:54:45:3b:46:4f:52:4d:2d:30:3b:32:38:34:0d:0a:53:43:41:4c:45:3b:44:4f:54:3b:33:30:30:3b:33:30:30:0d:0a:49:53:45:54:3b:27:55:54:46:38:27:0d:0a:4c:4f:47:4f:0d:0a:36:36:34:3b:37:31:35:3b:4c:4f:47:4f:2d:30:0d:0a:53:54:4f:50:0d:0a:45:4e:44:0d:0a:7e:45:58:45:43:55:54:45:3b:46:4f:52:4d:2d:30:3b:31:0d:0a:0d:0a:7e:4e:4f:52:4d:41:4c:0d:0a:7e:44:45:4c:45:54:45:20:46:4f:52:4d:3b:46:4f:52:4d:2d:30:0d:0a:7e:44:45:4c:45:54:45:20:4c:4f:47:4f:3b:4c:4f:47:4f:2d:30:0d:0a





0a:05:01:01:00:00:00:00:5d:00:31:00:2c:01:2c:01:00:00:00:ff:ff:ff:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:01:0c:00:01:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:c2:00:1f:80:00:0f:c1:c0:00:07:c1:e0:00:03:c2:00:1f:80:00:0f:c1:c0:00:07:c1:e0:00:03:c2:00:1f:80:00:0f:c1:c0:00:07:c1:e0:00:03:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:1f:c1:ff:1f:8f:c1:ff:8f:c1:c7:c1:ff:c1:c7:c1:e3:c1:ff:c1:e3:c2:00:1f:80:00:0f:c1:c0:00:07:c1:e0:00:03:c2:00:1f:80:00:0f:c1:c0:00:07:c1:e0:00:03:c2:00:1f:80:00:0f:c1:c0:00:07:c1:e0:00:03:


0a:
05:
01:
01:

00:00:
00:00:
92:03:
76:03:

2c:01:2c:01:

00:00:00:ff:ff:ff:00:00:
00:00:00:00:00:00:00:00:
00:00:00:00:00:00:00:00:
00:00:00:00:00:00:00:00:
00:00:00:00:00:00:00:00:
00:00:00:00:00:00:00:00:

00:
01:
74:00:
01:00:
00:00:
00:00:

00:00:00:00:00:00:00:00:
00:00:00:00:00:00:00:00:
00:00:00:00:00:00:00:00:
00:00:00:00:00:00:00:00:
00:00:00:00:00:00:00:00:
00:00:00:00:00:00:00:00:
00:00:00:00:00:00:
ff:ff:e5:ff:c1:f7:c2:ff:7f:cc:ff:ff:ff:e5:ff:c1:c3:c1:ff:c1:fc:7f:c3:ff:c1:fb:c8:ff:ff:ff:e0:ff:c1:fc:00:03:c2:ff:83:c1:ff:c1:f0:7f:c3:ff:c1:e1:c8:ff:ff:ff:e0:ff:80:c2:00:3f:c1:ff:01:c1:ff:c1:f0:7f:c3:ff:c1:c1:c8:ff:ff:ff:df:ff:c1:fe:c3:00:1f:c1:fe:00:7f:c1:f0:7f:c3:ff:80:c8:ff:d5:ff:bf:c7:ff:c1:e7:f0:ff:bf:cf:ff:c1:fc:c3:00:0f:c1:fe:00:1f:c1:f0:7f:c3:ff:80:7f:c7:ff:d3:ff:3f:c1:ff:7f:c7:ff:87:d5:ff:c1:fc:d1:ff:c1:fe:c7:ff:c1:fc:3f:cf:ff:c1:f8:03:c1:ff:c1:f8:0f:c1:fe:00:03:c1:f0:7f:c3:ff:00:1f:c7:ff:d2:ff:c1:f0:3f:c1:fc:7f:c6:ff:c1:fe:07:d5:ff:c1:e0:d1:ff:c1:f8:c7:ff:c1:f0:3f:cc:ff:c1:fc:0f:c1:ff:c1:f8:0f:c1:ff:c1:fe:07:c1:fe:0f:c1:f3:c1:f0:7f:c3:ff:00:07:c7:ff:d2:ff:80:c1:ff:c1:f8:7f:c6:ff:c1:fc:03:cf:ff:c1:f8:7f:c4:ff:c1:c0:d1:ff:c1:e1:c7:ff:c1:f0:3f:cc:ff:c1:f8:07:c1:ff:c1:fe:1f:c2:ff:07:c1:fe:1f:c1:ff:c1:f0:7f:c2:ff:c1:fe:c2:00:7f:c6:ff:cb:ff:c1:fe:00:01:c3:ff:c1:fe:07:c1:ff:c1:f8:7f:c6:ff:c1:f8:01:c5:ff:c1:f8:ca:00:3f:c4:ff:c1:c0:c9:ff:c1:e3:c7:ff:c1:c1:c7:ff:c1:f0:3f:cc:ff:c1:f0:03:c1:ff:c1:fe:1f:c2:ff:07:c1:fe:1f:c1:ff:c1:f0:7f:c2:ff:c1:fe:01:80:7f:c6:ff:cb:ff:c1:e0:c2:00:7f:c2:ff:c1:f8:1f:c1:ff:c1:f8:7f:c6:ff:c1:f8:00:c5:ff:c1:fc:ca:00:1f:c4:ff:c1:c0:c4:ff:c1:df:c4:ff:03:c7:ff:c1:c1:c7:ff:c1:f0:3f:cc:ff:c1:e0:03:c2:ff:1f:c2:ff:07:c1:fe:1f:c1:ff:c1:f0:7f:c2:ff:c1:fe:07:c8:ff:cb:ff:c1:c0:c2:00:3f:c2:ff:c1:e0:7f:c1:ff:c1:f8:7f:c6:ff:c1:f0:00:3f:c4:ff:c1:fc:00:c3:ff:c1:fc:1f:c9:ff:c1:c0:c4:ff:c1:cf:c4:ff:03:c7:ff:c1:c1:c7:ff:c1:f0:3f:cc:ff:c1:e0:03:c2:ff:1f:c2:ff:07:c1:fe:1f:c1:ff:c1:f0:7f:c2:ff:c1:fe:0f:c8:ff:cb:ff:80:c2:00:1f:c2:ff:81:c2:ff:c1:f8:7f:c6:ff:c1:f0:00:0f:c4:ff:c1:fe:01:c3:ff:c1:fc:1f:c9:ff:c1:c0:c4:ff:87:c4:ff:03:c7:ff:c1:c1:c7:ff:c1:f0:3f:cc:ff:c1:e0:03:c2:ff:1f:c2:ff:07:c1:fe:1f:c1:ff:c1:f0:7f:c2:ff:c1:fe:0f:c8:ff:cb:ff:80:c2:00:1f:c2:ff:03:c2:ff:c1:f8:7f:c6:ff:c1:f0:00:03:c5:ff:03:c3:ff:c1:fc:1f:c9:ff:c1:c0:c4:ff:03:c4:ff:03:c7:ff:c1:c1:c7:ff:c1:f0:3f:cc:ff:c1:e0:03:c2:ff:1f:c2:ff:07:c1:fe:1f:c1:ff:c1:f0:7f:c2:ff:c1:fe:0f:c8:ff:cb:ff:00:7f:c1:f0:1f:c1:ff:c1:fe:0f:c2:ff:c1:f8:7f:c6:ff:c1:f0:18:00:7f:c4:ff:87:c3:ff:c1:fc:1f:c9:ff:c1:c0:c4:ff:03:c4:ff:03:c7:ff:c1:c1:c7:ff:c1:f0:3f:cc:ff:c1:f0:03:c2:ff:9f:c2:ff:07:c1:fe:1f:c1:ff:c1:f0:7f:c2:ff:c1:fe:0f:c8:ff:cb:ff:80:c1:ff:c1:f8:1f:c1:ff:c1:f8:1f:c2:ff:c1:f8:7f:c6:ff:c1:f0:3f:c1:fe:7f:c4:ff:c1:cf:c3:ff:c1:fc:1f:c9:ff:c1:c0:c3:ff:c1:fe:01:c4:ff:03:c7:ff:c1:c1:c7:ff:c1:f0:3f:cc:ff:c1:f0:03:c2:ff:9f:c2:ff:07:c1:fe:1f:c1:ff:c1:f0:7f:c2:ff:c1:fe:0f:c8:ff:cb:ff:c1:c0:c1:ff:c1:fc:1f:c1:ff:c1:f0:3f:c2:ff:c1:f8:7f:c6:ff:c1:f0:7f:ca:ff:c1:fc:1f:c9:ff:c1:c0:c3:ff:c1:fe:00:c4:ff:c8:00:01:c7:ff:c1:f0:3f:cc:ff:c1:f8:0f:c2:ff:9f:c2:ff:07:c1:fe:1f:c1:ff:c1:f0:7f:c2:ff:c1:fe:0f:c8:ff:cb:ff:c1:e1:c1:ff:c1:fc:1f:c1:ff:c1:e0:7f:c2:ff:c1:f8:7f:c6:ff:c1:f0:7f:ca:ff:c1:fc:1f:c9:ff:c1:c0:c3:ff:c1:fc:00:c4:ff:c8:00:01:c7:ff:c1:f0:3f:cc:ff:c1:fe:1f:c2:ff:9f:c2:ff:07:c1:fe:1f:c1:ff:c1:f0:7f:c2:ff:c1:fe:0f:c4:ff:c1:f1:c3:ff:cb:ff:c1:e1:c1:ff:c1:fc:1f:c1:ff:c1:e0:c3:ff:c1:f8:7f:c6:ff:c1:f0:7f:ca:ff:c1:fc:1f:c9:ff:c1:c0:c3:ff:c1:f8:01:c4:ff:03:c7:ff:c1:c1:c7:ff:c1:f0:3f:d0:ff:bf:c2:ff:07:c1:fe:1f:c1:ff:c1:f0:7f:c2:ff:c1:fe:0f:c4:ff:c1:e1:c3:ff:cb:ff:c1:f1:c1:ff:c1:fc:1f:c1:ff:c1:c1:c3:ff:c1:f8:7f:c6:ff:c1:f0:7f:ca:ff:c1:fc:1f:c2:ff:c1:fe:c6:ff:c1:c0:c3:ff:c1:f8:01:c4:ff:03:c7:ff:c1:c1:c7:ff:c1:f0:3f:d0:ff:bf:c2:ff:07:c1:fe:1f:c1:ff:c1:f0:7f:c2:ff:c1:fe:0f:c4:ff:c1:e1:c3:ff:cb:ff:c1:f1:c1:ff:c1:fc:1f:c1:ff:83:c3:ff:c1:f8:7f:c6:ff:c1:f0:7f:c6:ff:c1:fc:c8:00:7f:c5:ff:c1:c0:c3:ff:c1:f0:01:c4:ff:03:c7:ff:c1:c1:c7:ff:c1:f0:3f:d2:ff:c1:fc:07:c1:fe:1f:c1:ff:c1:f0:7f:c2:ff:c1:fe

三、资料网址

PCX格式http://courses.engr.illinois.edu/ece390/books/labmanual/graphics-pcx.html

  附:图片效果

    正确的图片

  

    像素存储顺序弄反的图片

    

这张纠结的图片啊,仔细观察的话会发现这个图片是每八个像素翻转了一下。当时猜测了拉裂,分辨率不高的原因。

转自:https://www.cnblogs.com/klvk/archive/2010/09/08/1821361.html

猜你喜欢

转载自blog.csdn.net/dserver/article/details/85603445