该算法以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)
{
while(连续alpha为0)
{
//压缩数据
}
}
else if(连续象素相等)