|
本帖最后由 桃桃 于 2013-8-25 12:59 编辑
图像资源包的读取、写出为BMP文件。
有此资源包的说明,结构什么的都清楚,个人技术问题,无法完成。
请高手帮忙,将资源包里面的数据生成为BMP图像文件,求源码。(如感觉精B过少,可提出要求。)
以下为此资源包说明:
头四个字节是:ATZ0,这个是文件格式标志。接着的四个字节是个整数,确定这个atz文件内有多少个图象桢。然后是12个字节是空白。
struct ATZ0Head
{
unsigned char FileFormat[4];
int ImageCount;
unsigned char Desc[12];
};
以上的20个字节是这个atz文件的头部信息,接下去的是255色调色板信息,总共占用1020个字节。正常都是256色调色板信息,由于黑色是默认的透明色,所以调色板中没有再定义这个颜色。
struct ATZ0Palette
{
unsigned int Palette[255];
};
调色板数据之后的就是图象桢数据了 ,它的结构也非常的简单,先是 4个字节的图象宽,然后是4个字节的图象高,之后是4个字节的图象在X数轴的偏移,再后的4个字节的图象在Y数轴的偏移,最后是图象数据信息,占用图象宽乘以图象高的字节数。前面的图象头里定义了总共有多少个这样的图象桢。每个每个的重复直到文件尾部。
struct ATZ0Data
{
unsigned int Width;
unsigned int Height;
int PX;
int PY;
unsigned char *Data;// Data的长度是 Width × Height
};
到这里整个atz文件解析完毕
资源包、说明及自写错误源码:
atz求助.rar
(195.69 KB, 下载次数: 13)
|
评分
-
查看全部评分
|