高手请进入(200分相送)谢谢光临 ( 积分: 0 )

  • 主题发起人 主题发起人 别长江
  • 开始时间 开始时间

别长江

Unregistered / Unconfirmed
GUEST, unregistred user!
功能: 主要对图片文件进行统一管理
文件结构:

*.WIL文件:为资源文件

功能是存贮图片文件的信息。


*.WIX文件:为索引文件
功能是根据提供文件的索引号找到指向WIL文件里图片位置的指针偏移量。

数据结构为:

typedef struct tagWILFILEHEADER //新的WIL文件头
{
SHORT shComp;
CHAR szTitle[20]; //标题
SHORT shVer; //版本
INT nImageCount; //图像的个数
}WILFILEHEADER, *LPWILFILEHEADER;



typedef struct tagWILFILEIMAGEINFO //新的WIL文件图像信息
{
SHORT shWidth; //图像宽
SHORT shHeight; //图像高
SHORT shPX; //图像的起始X坐标
SHORT shPY; //图像的起始Y坐标
CHAR bShadow; //影子类型(48,49:光源在斜上方,50光源在正上方)
SHORT shShadowPX; //影子的起始X坐标
SHORT shShadowPY; //影子的起始Y坐标
DWORD dwImageLength; //图像数据的长度
}WILIMAGEINFO, *LPWILIMAGEINFO;



typedef struct tagWIXFILEIMAGEINFO //新的WIX文件图像信息
{
CHAR szTitle[20]; //标题
INT nIndexCount; //索引的个数
INT* pnPosition; //起始指针
}WIXIMAGEINFO, *LPWIXIMAGEINFO;


一:创建资源文件WIL与索引文件WIX两个文件,文件内容为WILFILEHEADER结构与WIXIMAGEINFO结构

二:将BMP图片文件读入到资源文件里
首先将文件的图像信息WILIMAGEINFO结构读入到WIL文件里,再将图像文件读入到WIL资源文件里
读入时首先添加WIX索引文件中的索引个数。再添加一个指针,指向图片在WIL资源文件里的偏移地址。

设置WIL文件头中WILFILEHEADER中的图像个数。再将要加入的图片信息写入WILIMAGEINFO结构中,后将WILIMAGEINFO结构与图像文件一同写入WIL资源文件中

三:将WIL资源文件中的图像数据读到内存中并保存成BMP文件
根据你要读取的文件索引号到WIX索引文件中找到其对应的偏移地址,再到WIL文件中找到图像信息的地址,将其数据读入到内存并保存一个BMP图像文件
用什么语言都可以呀
 
功能: 主要对图片文件进行统一管理
文件结构:

*.WIL文件:为资源文件

功能是存贮图片文件的信息。


*.WIX文件:为索引文件
功能是根据提供文件的索引号找到指向WIL文件里图片位置的指针偏移量。

数据结构为:

typedef struct tagWILFILEHEADER //新的WIL文件头
{
SHORT shComp;
CHAR szTitle[20]; //标题
SHORT shVer; //版本
INT nImageCount; //图像的个数
}WILFILEHEADER, *LPWILFILEHEADER;



typedef struct tagWILFILEIMAGEINFO //新的WIL文件图像信息
{
SHORT shWidth; //图像宽
SHORT shHeight; //图像高
SHORT shPX; //图像的起始X坐标
SHORT shPY; //图像的起始Y坐标
CHAR bShadow; //影子类型(48,49:光源在斜上方,50光源在正上方)
SHORT shShadowPX; //影子的起始X坐标
SHORT shShadowPY; //影子的起始Y坐标
DWORD dwImageLength; //图像数据的长度
}WILIMAGEINFO, *LPWILIMAGEINFO;



typedef struct tagWIXFILEIMAGEINFO //新的WIX文件图像信息
{
CHAR szTitle[20]; //标题
INT nIndexCount; //索引的个数
INT* pnPosition; //起始指针
}WIXIMAGEINFO, *LPWIXIMAGEINFO;


一:创建资源文件WIL与索引文件WIX两个文件,文件内容为WILFILEHEADER结构与WIXIMAGEINFO结构

二:将BMP图片文件读入到资源文件里
首先将文件的图像信息WILIMAGEINFO结构读入到WIL文件里,再将图像文件读入到WIL资源文件里
读入时首先添加WIX索引文件中的索引个数。再添加一个指针,指向图片在WIL资源文件里的偏移地址。

设置WIL文件头中WILFILEHEADER中的图像个数。再将要加入的图片信息写入WILIMAGEINFO结构中,后将WILIMAGEINFO结构与图像文件一同写入WIL资源文件中

三:将WIL资源文件中的图像数据读到内存中并保存成BMP文件
根据你要读取的文件索引号到WIX索引文件中找到其对应的偏移地址,再到WIL文件中找到图像信息的地址,将其数据读入到内存并保存一个BMP图像文件
用什么语言都可以呀
 
这未免有些问题。你将事情都复杂化了。
 
QQ:27857491
 
WIL文件可以不要文件头,既然有配对的WIX文件。
把WIL的文件头部分内容放入WIX文件。

//WIX文件头第一部分

typedef struct tagWIXFILEIMAGEINFO //新的WIX文件头{
CHAR szTitle[20]; //自身标题
CHAR WILFILENAME[255]; //对应的WIL文件名////////////////////
INT nImageCount; //图像的个数
SHORT shVer; //版本
}WIXIMAGEINFO, *LPWIXIMAGEINFO;

typedef struct tagWIXFILEIMAGEINFO //新的WIX文件图像信息
{
CHAR szTitle[20]; //标题
INT* pnPosition; //起始指针
}WIXIMAGEINFO, *LPWIXIMAGEINFO;

这个WIX文件总不难读写吧

WIL文件只保留以下正文部分,也不很麻烦吧

typedef struct tagWILFILEIMAGEINFO //新的WIL文件图像信息
{
SHORT shWidth; //图像宽
SHORT shHeight; //图像高
SHORT shPX; //图像的起始X坐标
SHORT shPY; //图像的起始Y坐标
CHAR bShadow; //影子类型(48,49:光源在斜上方,50光源在正上方)
SHORT shShadowPX; //影子的起始X坐标
SHORT shShadowPY; //影子的起始Y坐标
DWORD dwImageLength; //图像数据的长度
}WILIMAGEINFO, *LPWILIMAGEINFO;


用文件流就可以轻松搞定。感觉你的头文件定的罗嗦了哦!
 

Similar threads

D
回复
0
查看
855
DelphiTeacher的专栏
D
D
回复
0
查看
871
DelphiTeacher的专栏
D
D
回复
0
查看
938
DelphiTeacher的专栏
D
D
回复
0
查看
879
DelphiTeacher的专栏
D
后退
顶部