解析的教程在网络上一抓一大把,我都分不清那个是原创了。不过有一点肯定的是,目前都没有Java版本,恩恩:),处于好奇,我稍稍用Java写了一个以供消遣。
写的过程中发现,其实教程有部分是错误的。而且很多地方也描述的不够详细,让我在实现的过程中走了不少弯路。还好有TC256编程的功底HOHO。
Wix文件格式说明
传奇的wix文件是索引文件,里面指出了图片素材的起始位置。
byte[44]是固定的头文件,网络上的教程都一律写成40个字节,实际上应该是44个。
byte[4]图片数量,低位在前,我在CommonUtil.bytesToInt的方法中实现了低位高位的转换,并且转成Java的整数输出
byte[?][4]这是一个二维数组,里面存储了每张图片在对应的wil文件中的起始位置。
remeber:起始位置是在wix中定义的,别妄想直接在wil文件中按照顺序弄出来,会吃闭门羹的。
Wil文件格式说明
byte[44]固定头文件
byte[12]应该是控制Frame播放的速度、是否重复之类的信息的,和我们无关
byte[1024]BMP中最重要的调色板实际上应该是byte[256][4]
-------以上是Wil文件头的固定格式,从下边开始则是每张位图的数据,位图的开始是在Wix中定义的---------
byte[2]宽度
byte[2]高度
byte[4]位图数据起始标志
byte[?]位图数据,大小为width * height
原图是8BIT的位图数据。为了减轻在Android上的开发负担,我擅自决定:解析时将其作为为背景透明的PNG图片文件格式,不喜者可以注释掉相关代码。
// ---------- 增加下面的代码使得背景透明 -----------------
image = g2d.getDeviceConfiguration().createCompatibleImage(
width, height, Transparency.TRANSLUCENT);
g2d.dispose();
g2d = image.createGraphics();
// ---------- 背景透明代码结束 -----------------
主要的格式说明就这些,具体的请看代码。代码在附件中,与此同时,我还提供了《热血传奇》的wix和wil文件。
太困了,睡觉....
分享到:
相关推荐
WiX 3.6: A Developer's Guide to Windows Installer XML,总页数488,16章完整版本。
wix教程wix教程wix教程wix教程wix教程wix教程
Wix 3.0 中文语言描述XML文件 包括简体中文和繁体中文 由wix2.0版本修改而来的
程序中为wix3.7版本,但对于环境对wix3.5到wix3.7版本的需求都可使用(自己已经亲测可用),具体使用方法见压缩包内的readme文件
wix3.11版本安装工具
wix311-binaries.zip
wix3.0中文资源包 wix3.7中文资源包 WixUI_zh-cn.wxl WixUI_zh-tw.wxl
wix development for windows installer
WiX Toolset v3.11.1 源码 在使用wix toolset 进行打包安装的时候,常常需要自定义界面,自定义界面就需要参照Wix本身提供的模板,在源码中经常会用到的目录是 wix3-wix3111rtm\src\ext\UIExtension\wixlib
http://blog.csdn.net/improve121/article/details/6285111 Wix打包系列 所需材料
WiX3.10版本安装工具
wix 3.6 developers guide to windows installer.
Wix Toolset 最新安装包,也包括VS支持包。安装后在VS上找不到Wix的话,就安装VS对应版本的支持包
MSI安装包工具Wix帮助文档,这个可以直接生成MSI安装文件
Wix打包说明,含有图文说明,并附有具体的实现代码。(亲测可用)
WiX Toolset v3.7 The most powerful set of tools available to create your Windows installation experience. Free and Open Source since 2004!
wix installwix installwix installwix installwix installwix installwix install
java jui 打包成exe 要用的两个工具, 下载非常慢,这个进行保存; wix310.exe & innosetup-5.6.1。 ----------- 检测到 [iscc.exe] 版本 0, 但需要版本 5。 [INFO] Skipping 'EXE 安装程序' because of ...