该算法以32bitTGA的特点来设计的,32bitTGA有大量的透明区域,我们可以将透明区域压缩,以及将象素连续重复的图块压缩,也就是说,压缩主要是针对两个方面的,
1。图片有大量的透明区域
2。图片有连续的象素相同的区域
综上所述,该算法对没有Alpha蒙板的图片以及比较复杂的图片压缩效果很差
流程如下:
原始数据:
DWORD relRad[20] =
{
0x43fe7693,
0xfe784981,
0x02873145,
0x98ff9821,
0xff678653,
0xff678653,
0xff678653,
0xff678653,
0xff678653,
0xff678653,
0x00423546,
0x00fe3214,
0x00543245,
0x6412389f,
0x98423481,
0xfe654624,
0x00f31231,
0x00543123,
0xfe312313,
0xfe312313,
};
压缩流程
while(还有数据)
{
if(连续alpha为0)
{
&nbs

本文介绍了针对32位TGA图像的RLE压缩算法,重点在于处理透明区域和像素连续重复的情况。算法不适用于无Alpha蒙版或复杂图片。流程包括检查连续透明像素和相同像素并进行相应压缩,压缩数据由数据头和数据体组成,数据头的前两位作为标志位,后续位表示数据块长度。
最低0.47元/天 解锁文章
2904

被折叠的 条评论
为什么被折叠?



