📄 rle.h
字号:
//////////////////////////////////////////////////////////////////
// //
// 用途 : RLE 压缩算法 (PCX, TGA图像) //
// 创建 : [Foolish] / 2000-9-6 //
// 更新 : 2003-2-18 //
// 主页 : http://www.crazy-bit.com/ //
// 邮箱 : crazybit@263.net //
// (c) 1999 - 2003 =USTC= 付黎 //
//////////////////////////////////////////////////////////////////
#ifndef __FOO_RLE_COMPRESS_H__
#define __FOO_RLE_COMPRESS_H__
#include "../StdDefine.h"
#include "../FColor.h"
//====================================================================
// RLE - 压缩算法
//====================================================================
//////////////////////////////////////////////////////////////////////
// 功 能 :RLE压 / 解压缩 ( PCX 图像 ) //
// 参 数 : //
// 返回值 :写入OutBuffer中的字节数 //
// 说 明 :压缩时OutBuffer至少两倍InBuffer大小 //
//////////////////////////////////////////////////////////////////////
int RLE_PCX_Encode (const BYTE * InBuffer, int nInSize, BYTE * OutBuffer) ;
int RLE_PCX_Decode (const BYTE * InBuffer, int nInSize, BYTE * OutBuffer) ;
//////////////////////////////////////////////////////////////////////
// 功 能 :RLE压 / 解压缩 ( TGA 图像 ) //
// 参 数 :iColorBit 为像素颜色位数 - 8, 16, 24, 32 //
// iNumPixel 为图象每行象素个数 //
// 返回值 :EncodeLine 返回编码后 OutBuffer 的指针 //
// DecodeLine 返回解码后 InBuffer 的指针 //
// 说 明 :压缩时OutBuffer至少两倍InBuffer大小 //
//////////////////////////////////////////////////////////////////////
int RLE_TGA_Encode (const BYTE * InBuffer, int nInSize, BYTE * OutBuffer, int nPack = 8) ;
void RLE_TGA_Decode (const BYTE * InBuffer, int nOriSize, BYTE * OutBuffer, int nPack = 8) ;
BYTE * RLE_TGA_EncodeLine (const BYTE * InBuffer, int iColorBit,
int iNumPixel, // iNumPixel即为图像宽
BYTE * OutBuffer) ;
BYTE * RLE_TGA_DecodeLine (const BYTE * InBuffer, int iColorBit,
int iNumPixel, // iNumPixel即为图像宽
BYTE * OutBuffer) ;
//===================================================================
#include "Rle.inl"
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -