如何从VB6 .frx文件中提取图像?

Bry*_*ner 1 vb6

我正在将一些VB6代码转换为C#.VB6将资源存储在.frx文件中,与C#将其存储在.resx文件中的方式相同.如何将.frx文件中的图像转换为可嵌入.resx文件中的图像?

Bry*_*ner 6

在 .frm 文件中,它包含如下行:

    Image = "blah.frx" : 1234
Run Code Online (Sandbox Code Playgroud)

字符串是文件(显然),数字是图像的十六进制偏移量。该位置有一个 12 字节的标头,该标头的最后 4 个字节包含图像的长度(以字节为单位)。图像本身紧跟在 12 字节标头之后。

转换为 .resx 只需对该图像调用 Convert.ToBase64String() 即可。


Dav*_*Caz 6

这是一个部分答案 - 有一个实用程序可用于提取部分.

GfxFromFrx:如何从VB二进制属性文件中提取图形

作者:Brad Martinez.

实用的例子

它将以它们所处的任何格式提取资源 - 图标,位图,光标等,并保存到单个文件中.

这个实用程序的原始位置在这里:站点代码zip.

它可能不再存在,但存档位于此处:站点代码zip.