计算机图形学-TGA图片的RLE压缩

RLE压缩也称行程压缩,RLE压缩的基本思路:将重复的数据内容用数字表示

eg:(压缩前)12,12,12,33,4,55,55,66,66,66,77

(压缩后)3 12,1 33,1 4,2 55,3 66,1 77

基本格式为数量+数据。

TGA图像的RLE压缩:

压缩过程:

将数据分为两大类:

非压缩块: 将一段连续的像素数据直接存储在文件中。这些像素是按顺序排列的,没有任何额外的压缩操作。

压缩块: 存储一个颜色值,并在块头部指示这个颜色值要重复的次数。这个方法特别适合颜色相同的像素块,可以显著减少数据量。

在每一大类前都放置头部(chunkheader)标识块

读取数据:

非压缩数据块: 每个块前的头部(chunkheader)标识块的大小(实际像素数量减去1),例如,如果chunkheader是5,表示这个块包含6个连续的像素数据。

压缩数据块: 这些数据块包含一个重复的像素数据,前面的chunkheader指示要重复的次数(减去127)。例如,如果chunkheader是128,则实际的重复次数是1,若chunkheader是129,则实际的重复次数是2,以此类推。

解码过程:

解码过程:

读取chunkheader来判断是非压缩块还是压缩块。

对于非压缩块,读取指定数量的颜色值并存储。

对于压缩块,读取一个颜色值并重复指定的次数来恢复图像数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值