RLE 压缩方式解析
1.BI_RLE8:
: C w' X/ h: p+ c! ~# I$ ?妖城在线论坛每个象素为8比特的RLE压缩编码,可使用编码方式和绝对方式中的任何一种进行压缩,这两种方式可在同一幅图中的任何地方使用。
: Z/ Y; Q! f" c s( F/ j. Y—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート编码方式:由2个字节组成,第一个字节指定使用相同颜色的象素数目,第二个字节指定使用的颜色索引。此外,这个字节对中的第一个字节可设置为0,联合使用第二个字节的值表示: 魔力私服,最新魔力宝贝私服技术交流, r6 X; G3 r3 C3 {! X, C8 D9 J
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート( w! e: `. _, f; v
第二个字节的值为0:行的结束。 —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート4 o2 t# \0 F% U, |8 [
第二个字节的值为1:图象结束。
: a5 P$ p& n- `( L7 X" S. u7 Y4 a第二个字节的值为2:其后的两个字节表示下一个象素从当前开始的水平和垂直位置的偏移量。 ! l3 u& b8 Z* u7 U0 e
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート3 F9 p7 t- c) A& B6 U
绝对方式:第一个字节设置为0,而第二个字节设置为0x03~0xFF之间的一个值。在这种方式中,第二个字节表示跟在这个字节后面的字节数,每个字节包含单个象素的颜色索引。压缩数据格式需要字边界(word boundary)对齐。下面的例子是用16进制表示的8-位压缩图象数据:
5 o$ R' y& N# b( S8 V7 A* K1 d03 04 05 06 00 03 45 56 67 00 02 78 00 02 05 01 02 78 00 00 09 1E 00 01
# E5 m5 a& ^3 D: ^* ^0 [1 g. Ibbs.mocwww.com这些压缩数据可解释为 : bbs.mocwww.com& v+ [1 w) f9 k) z/ ~
压缩数据 扩展数据
7 |0 G8 {4 L& ubbs.mocwww.com03 04 04 04 04 魔力私服,最新魔力宝贝私服技术交流- t! I6 ]6 j1 |* v; \$ `& z' m
05 06 06 06 06 06 06
% M' _" G/ t) W: L9 n7 s* @妖城在线论坛00 03 45 56 67 00 45 56 67 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表) c7 x3 S5 O" n2 D6 Y$ o5 z, m
02 78 78 78 妖城在线论坛- D0 m% `1 j* J+ v+ Y
00 02 05 01 从当前位置右移5个位置后向下移一行 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表. g8 {8 N! J( C* U8 P
02 78 78 78
1 B& Z4 j4 L5 g6 a* W) y3 \" K/ y' k—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート00 00 行结束
) V7 @+ r1 f6 ]5 j3 ]- y3 ebbs.mocwww.com09 1E 1E 1E 1E 1E 1E 1E 1E 1E 1E 魔力私服,最新魔力宝贝私服技术交流, i: Y" U% c9 i- m2 o& F& ^
00 01 RLE编码图象结束 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表; o: T/ K5 ^) N) o' k7 i
* Y; D. a% ]: P* k8 ~. x2.BI_RLE4:魔力私服,最新魔力宝贝私服技术交流: Y3 f5 v1 f. J6 B$ m8 ?+ p* P& K
每个象素为4比特的RLE压缩编码,同样也可使用编码方式和绝对方式中的任何一种进行压缩,这两种方式也可在同一幅图中的任何地方使用。这两种方式是: 妖城在线论坛( ~0 X' d' P8 g: P& ]) Y
编码方式:由2个字节组成,第一个字节指定象素数目,第二个字节包含两种颜色索引,一个在高4位,另一个在低4位。第一个象素使用高4位的颜色索引,第二个使用低4位的颜色索引,第3个使用高4位的颜色索引,依此类推。
8 X6 \/ P" E2 h" \- Hbbs.mocwww.com绝对方式:这个字节对中的第一个字节设置为0,第二个字节包含有颜色索引数,其后续字节包含有颜色索引,颜色索引存放在该字节的高、低4位中,一个颜色索引对应一个象素。此外,BI_RLE4也同样联合使用第二个字节中的值表示: —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート9 S" ]: |# \! y! N0 _
第二个字节的值为0:行的结束。
& x% I# ]" R% c* d—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート第二个字节的值为1:图象结束。 妖城在线论坛$ F/ o1 p2 T* m
第二个字节的值为2:其后的两个字节表示下一个象素从当前开始的水平和垂直位置的偏移量。
+ J8 I2 W0 ~& m7 I) p `2 r下面的例子是用16进制数表示的4-位压缩图象数据:
3 X) l2 {; `) {, Z6 k- dbbs.mocwww.com03 04 05 06 00 06 45 56 67 00 04 78 00 02 05 01 04 78 00 00 09 1E 00 01 # l; M8 }4 I- {* _! N$ h1 U5 B
这些压缩数据可解释为 :
6 ]7 l, R, _- Fbbs.mocwww.com压缩数据 扩展数据
( f$ N' B& w' {—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート03 04 0 4 0 —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート5 u* ?* P1 A1 O: z9 W6 Q
05 06 0 6 0 6 0 魔力私服,最新魔力宝贝私服技术交流* C- ?0 l' W7 Z+ r; [
00 06 45 56 67 00 4 5 5 6 6 7
1 }1 h) s3 c% v, `# Y3 O—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート04 78 7 8 7 8 魔力私服,最新魔力宝贝私服技术交流0 E3 R7 ~, p# P3 O
00 02 05 01 从当前位置右移5个位置后向下移一行 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表5 M, k( M* _- I6 C* t+ I
04 78 7 8 7 8
) p0 _4 r' E4 r3 w9 u6 [—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート00 00 行结束
6 Z0 d8 E8 r {, ?妖城在线论坛09 1E 1 E 1 E 1 E 1 E 1
H2 N% s3 p5 V$ m! s魔力私服,最新魔力宝贝私服技术交流00 01 RLE图象结束