QQ2011 皮肤资源
新的学期又开始了,刚到学校,好久没上网了,上网后发现QQ2011已经发布了测试版了。下载一看,皮肤又有了新的进化。用QQ皮肤工具解包QQ2011后发现大多的图片已被gft文件所替代了,用了几款图片工具均无法查看gft的图片内容。看来是腾讯自己定义的文件格式。
打开了UltraEdit,把几个gft文件拖进去看了看。。。
如上图,这样我们就可以制作一个将gft文件转换成png或是bmp的工具了。
我们执行将需要转换的gft文件或含有gft文件的文件夹拖拽到窗体上面之后便会自动转换所有文件。
转换代码
/// <summary>
/// gft文件路径
/// </summary>
/// <param name="fileName"></param>
private void ConvertFile(string fileName)
{
string ext = string.Empty;
FileStream fs = File.OpenRead(fileName);
byte[] data = new byte[fs.Length];
fs.Read(data, 0, data.Length);
fs.Close();
int key = data[16];//第16个字指定了图片的起始地址。
byte[] data2 = data.Skip(key).ToArray();
if (data2[0].ToString("x") == "42") //42 4D
{
ext = "bmp";
}
else if (data2[0].ToString("x") == "89") //80 50
{
ext = "png";
}
string newFilename = Path.ChangeExtension(fileName, ext);
FileStream fs2 = new FileStream(newFilename, FileMode.Create);
fs2.Write(data2, 0, data2.Length);
fs2.Close();
CompletedCount++;
progressBar1.Value = CompletedCount;
}
多余的代码就不贴了,附下载。
QQ皮肤解包工具下载。